analysis.convex.functionMathlib.Analysis.Convex.Function

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -415,9 +415,9 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     and_congr_right'
       ⟨fun h x hx y hy a b ha hb hab => h hx hy ha.le hb.le hab, fun h x hx y hy a b ha hb hab => _⟩
   obtain rfl | ha' := ha.eq_or_lt
-  · rw [zero_add] at hab ; subst b; simp_rw [zero_smul, zero_add, one_smul]
+  · rw [zero_add] at hab; subst b; simp_rw [zero_smul, zero_add, one_smul]
   obtain rfl | hb' := hb.eq_or_lt
-  · rw [add_zero] at hab ; subst a; simp_rw [zero_smul, add_zero, one_smul]
+  · rw [add_zero] at hab; subst a; simp_rw [zero_smul, add_zero, one_smul]
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 -/
@@ -539,7 +539,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' convexOn_iff_pairwise_pos.2 ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab 
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
@@ -580,7 +580,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab 
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
@@ -1079,7 +1079,7 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
-    simp [neg_apply, neg_le, add_comm] at h 
+    simp [neg_apply, neg_le, add_comm] at h
     exact h hx hy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
@@ -1105,7 +1105,7 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
-    simp [neg_apply, neg_lt, add_comm] at h 
+    simp [neg_apply, neg_lt, add_comm] at h
     exact h hx hy hxy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
Diff
@@ -308,7 +308,7 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
     calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha hb hab
       _ ≤ a • r + b • r :=
-        (add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb))
+        (add_le_add (smul_le_smul_of_nonneg_left hx.2 ha) (smul_le_smul_of_nonneg_left hy.2 hb))
       _ = r := Convex.combo_self hab r⟩
 #align convex_on.convex_le ConvexOn.convex_le
 -/
@@ -327,7 +327,8 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
   refine' ⟨hf.1 hx hy ha hb hab, _⟩
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
-    _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
+    _ ≤ a • r + b • t :=
+      add_le_add (smul_le_smul_of_nonneg_left hr ha) (smul_le_smul_of_nonneg_left ht hb)
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 -/
 
@@ -502,7 +503,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
       calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx.1 hy.1 hxy ha hb hab
         _ ≤ a • r + b • r :=
-          (add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le)
+          (add_le_add (smul_lt_smul_of_pos_left hx.2 ha).le (smul_lt_smul_of_pos_left hy.2 hb).le)
         _ = r := Convex.combo_self hab r⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 -/
@@ -705,8 +706,8 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha.le hb.le hab
         _ < a • r + b • r :=
-          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hx.2 ha)
-            (smul_le_smul_of_nonneg hy.2.le hb.le))
+          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos_left hx.2 ha)
+            (smul_le_smul_of_nonneg_left hy.2.le hb.le))
         _ = r := Convex.combo_self hab _⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 -/
@@ -727,7 +728,8 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
   calc
     f (a • p.1 + b • q.1) ≤ a • f p.1 + b • f q.1 := hf.2 hp.1 hq.1 ha.le hb.le hab
     _ < a • p.2 + b • q.2 :=
-      add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
+      add_lt_add_of_lt_of_le (smul_lt_smul_of_pos_left hp.2 ha)
+        (smul_le_smul_of_nonneg_left hq.2 hb.le)
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 -/
 
@@ -772,12 +774,14 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
     calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.right hx hy ha hb hab
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-        add_le_add (smul_le_smul_of_nonneg le_sup_left ha) (smul_le_smul_of_nonneg le_sup_left hb)
+        add_le_add (smul_le_smul_of_nonneg_left le_sup_left ha)
+          (smul_le_smul_of_nonneg_left le_sup_left hb)
   ·
     calc
       g (a • x + b • y) ≤ a • g x + b • g y := hg.right hx hy ha hb hab
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-        add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
+        add_le_add (smul_le_smul_of_nonneg_left le_sup_right ha)
+          (smul_le_smul_of_nonneg_left le_sup_right hb)
 #align convex_on.sup ConvexOn.sup
 -/
 
@@ -797,13 +801,13 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
       (calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
         _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-          add_le_add (smul_le_smul_of_nonneg le_sup_left ha.le)
-            (smul_le_smul_of_nonneg le_sup_left hb.le))
+          add_le_add (smul_le_smul_of_nonneg_left le_sup_left ha.le)
+            (smul_le_smul_of_nonneg_left le_sup_left hb.le))
       (calc
         g (a • x + b • y) < a • g x + b • g y := hg.2 hx hy hxy ha hb hab
         _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-          add_le_add (smul_le_smul_of_nonneg le_sup_right ha.le)
-            (smul_le_smul_of_nonneg le_sup_right hb.le))⟩
+          add_le_add (smul_le_smul_of_nonneg_left le_sup_right ha.le)
+            (smul_le_smul_of_nonneg_left le_sup_right hb.le))⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 -/
 
@@ -822,8 +826,8 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
     _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb))
+      (add_le_add (smul_le_smul_of_nonneg_left (le_max_left _ _) ha)
+        (smul_le_smul_of_nonneg_left (le_max_right _ _) hb))
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 -/
@@ -862,8 +866,8 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
   calc
     f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
     _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
+      (add_le_add (smul_le_smul_of_nonneg_left (le_max_left _ _) ha.le)
+        (smul_le_smul_of_nonneg_left (le_max_right _ _) hb.le))
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 -/
@@ -916,7 +920,8 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb hab
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
+          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos_left h ha)
+            (smul_le_smul_of_nonneg_left hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 -/
@@ -995,7 +1000,8 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb.le hab
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
+          (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg_left h ha.le)
+            (smul_lt_smul_of_pos_left hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 -/
@@ -1249,7 +1255,7 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
       c • f (a • x + b • y) ≤ c • (a • f x + b • f y) :=
-        smul_le_smul_of_nonneg (hf.2 hx hy ha hb hab) hc
+        smul_le_smul_of_nonneg_left (hf.2 hx hy ha hb hab) hc
       _ = a • c • f x + b • c • f y := by
         rw [smul_add, smul_comm c, smul_comm c] <;> infer_instance⟩
 #align convex_on.smul ConvexOn.smul
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, François Dupuis
 -/
-import Mathbin.Analysis.Convex.Basic
+import Analysis.Convex.Basic
 
 #align_import analysis.convex.function from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
 
Diff
@@ -1117,16 +1117,16 @@ theorem neg_strictConcaveOn_iff : StrictConcaveOn 𝕜 s (-f) ↔ StrictConvexOn
 #align neg_strict_concave_on_iff neg_strictConcaveOn_iff
 -/
 
-alias neg_convexOn_iff ↔ _ ConcaveOn.neg
+alias ⟨_, ConcaveOn.neg⟩ := neg_convexOn_iff
 #align concave_on.neg ConcaveOn.neg
 
-alias neg_concaveOn_iff ↔ _ ConvexOn.neg
+alias ⟨_, ConvexOn.neg⟩ := neg_concaveOn_iff
 #align convex_on.neg ConvexOn.neg
 
-alias neg_strictConvexOn_iff ↔ _ StrictConcaveOn.neg
+alias ⟨_, StrictConcaveOn.neg⟩ := neg_strictConvexOn_iff
 #align strict_concave_on.neg StrictConcaveOn.neg
 
-alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
+alias ⟨_, StrictConvexOn.neg⟩ := neg_strictConcaveOn_iff
 #align strict_convex_on.neg StrictConvexOn.neg
 
 #print ConvexOn.sub /-
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, François Dupuis
-
-! This file was ported from Lean 3 source module analysis.convex.function
-! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Basic
 
+#align_import analysis.convex.function from "leanprover-community/mathlib"@"25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e"
+
 /-!
 # Convex and concave functions
 
Diff
@@ -105,21 +105,29 @@ variable {𝕜 s f}
 
 open OrderDual (toDual ofDual)
 
+#print ConvexOn.dual /-
 theorem ConvexOn.dual (hf : ConvexOn 𝕜 s f) : ConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align convex_on.dual ConvexOn.dual
+-/
 
+#print ConcaveOn.dual /-
 theorem ConcaveOn.dual (hf : ConcaveOn 𝕜 s f) : ConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align concave_on.dual ConcaveOn.dual
+-/
 
+#print StrictConvexOn.dual /-
 theorem StrictConvexOn.dual (hf : StrictConvexOn 𝕜 s f) : StrictConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_convex_on.dual StrictConvexOn.dual
+-/
 
+#print StrictConcaveOn.dual /-
 theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_concave_on.dual StrictConcaveOn.dual
+-/
 
 #print convexOn_id /-
 theorem convexOn_id {s : Set β} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s id :=
@@ -133,26 +141,35 @@ theorem concaveOn_id {s : Set β} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s id :=
 #align concave_on_id concaveOn_id
 -/
 
+#print ConvexOn.subset /-
 theorem ConvexOn.subset {t : Set E} (hf : ConvexOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align convex_on.subset ConvexOn.subset
+-/
 
+#print ConcaveOn.subset /-
 theorem ConcaveOn.subset {t : Set E} (hf : ConcaveOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align concave_on.subset ConcaveOn.subset
+-/
 
+#print StrictConvexOn.subset /-
 theorem StrictConvexOn.subset {t : Set E} (hf : StrictConvexOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_convex_on.subset StrictConvexOn.subset
+-/
 
+#print StrictConcaveOn.subset /-
 theorem StrictConcaveOn.subset {t : Set E} (hf : StrictConcaveOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_concave_on.subset StrictConcaveOn.subset
+-/
 
+#print ConvexOn.comp /-
 theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -161,7 +178,9 @@ theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
           hf.2 hx hy ha hb hab).trans <|
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) ha hb hab⟩
 #align convex_on.comp ConvexOn.comp
+-/
 
+#print ConcaveOn.comp /-
 theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -170,17 +189,23 @@ theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f
           (mem_image_of_mem f <| hf.1 hx hy ha hb hab) <|
         hf.2 hx hy ha hb hab⟩
 #align concave_on.comp ConcaveOn.comp
+-/
 
+#print ConvexOn.comp_concaveOn /-
 theorem ConvexOn.comp_concaveOn (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align convex_on.comp_concave_on ConvexOn.comp_concaveOn
+-/
 
+#print ConcaveOn.comp_convexOn /-
 theorem ConcaveOn.comp_convexOn (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align concave_on.comp_convex_on ConcaveOn.comp_convexOn
+-/
 
+#print StrictConvexOn.comp /-
 theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictConvexOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -189,7 +214,9 @@ theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictCo
           hf.2 hx hy hxy ha hb hab).trans <|
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) (mt (hf' hx hy) hxy) ha hb hab⟩
 #align strict_convex_on.comp StrictConvexOn.comp
+-/
 
+#print StrictConcaveOn.comp /-
 theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : StrictConcaveOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -198,18 +225,23 @@ theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : Strict
           (mem_image_of_mem f <| hf.1 hx hy ha.le hb.le hab) <|
         hf.2 hx hy hxy ha hb hab⟩
 #align strict_concave_on.comp StrictConcaveOn.comp
+-/
 
+#print StrictConvexOn.comp_strictConcaveOn /-
 theorem StrictConvexOn.comp_strictConcaveOn (hg : StrictConvexOn 𝕜 (f '' s) g)
     (hf : StrictConcaveOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg' hf'
 #align strict_convex_on.comp_strict_concave_on StrictConvexOn.comp_strictConcaveOn
+-/
 
+#print StrictConcaveOn.comp_strictConvexOn /-
 theorem StrictConcaveOn.comp_strictConvexOn (hg : StrictConcaveOn 𝕜 (f '' s) g)
     (hf : StrictConvexOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConcaveOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg' hf'
 #align strict_concave_on.comp_strict_convex_on StrictConcaveOn.comp_strictConvexOn
+-/
 
 end SMul
 
@@ -217,6 +249,7 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
+#print ConvexOn.add /-
 theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -224,10 +257,13 @@ theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
         add_le_add (hf.2 hx hy ha hb hab) (hg.2 hx hy ha hb hab)
       _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align convex_on.add ConvexOn.add
+-/
 
+#print ConcaveOn.add /-
 theorem ConcaveOn.add (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
 #align concave_on.add ConcaveOn.add
+-/
 
 end DistribMulAction
 
@@ -235,24 +271,32 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f : E → β}
 
+#print convexOn_const /-
 theorem convexOn_const (c : β) (hs : Convex 𝕜 s) : ConvexOn 𝕜 s fun x : E => c :=
   ⟨hs, fun x y _ _ a b _ _ hab => (Convex.combo_self hab c).ge⟩
 #align convex_on_const convexOn_const
+-/
 
+#print concaveOn_const /-
 theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun x : E => c :=
   @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
 #align concave_on_const concaveOn_const
+-/
 
+#print convexOn_of_convex_epigraph /-
 theorem convexOn_of_convex_epigraph (h : Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2}) :
     ConvexOn 𝕜 s f :=
   ⟨fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).1,
     fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).2⟩
 #align convex_on_of_convex_epigraph convexOn_of_convex_epigraph
+-/
 
+#print concaveOn_of_convex_hypograph /-
 theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1}) :
     ConcaveOn 𝕜 s f :=
   @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
 #align concave_on_of_convex_hypograph concaveOn_of_convex_hypograph
+-/
 
 end Module
 
@@ -260,6 +304,7 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+#print ConvexOn.convex_le /-
 theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | f x ≤ r}) :=
   fun x hx y hy a b ha hb hab =>
   ⟨hf.1 hx.1 hy.1 ha hb hab,
@@ -269,11 +314,15 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
         (add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb))
       _ = r := Convex.combo_self hab r⟩
 #align convex_on.convex_le ConvexOn.convex_le
+-/
 
+#print ConcaveOn.convex_ge /-
 theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r ≤ f x}) :=
   hf.dual.convex_le r
 #align concave_on.convex_ge ConcaveOn.convex_ge
+-/
 
+#print ConvexOn.convex_epigraph /-
 theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2} :=
   by
@@ -283,21 +332,28 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
     _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
+-/
 
+#print ConcaveOn.convex_hypograph /-
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1} :=
   hf.dual.convex_epigraph
 #align concave_on.convex_hypograph ConcaveOn.convex_hypograph
+-/
 
+#print convexOn_iff_convex_epigraph /-
 theorem convexOn_iff_convex_epigraph :
     ConvexOn 𝕜 s f ↔ Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2} :=
   ⟨ConvexOn.convex_epigraph, convexOn_of_convex_epigraph⟩
 #align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraph
+-/
 
+#print concaveOn_iff_convex_hypograph /-
 theorem concaveOn_iff_convex_hypograph :
     ConcaveOn 𝕜 s f ↔ Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1} :=
   @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
 #align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypograph
+-/
 
 end OrderedSMul
 
@@ -305,6 +361,7 @@ section Module
 
 variable [Module 𝕜 E] [SMul 𝕜 β] {s : Set E} {f : E → β}
 
+#print ConvexOn.translate_right /-
 /-- Right translation preserves convexity. -/
 theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -314,24 +371,31 @@ theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
         rw [smul_add, smul_add, add_add_add_comm, Convex.combo_self hab]
       _ ≤ a • f (c + x) + b • f (c + y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.translate_right ConvexOn.translate_right
+-/
 
+#print ConcaveOn.translate_right /-
 /-- Right translation preserves concavity. -/
 theorem ConcaveOn.translate_right (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align concave_on.translate_right ConcaveOn.translate_right
+-/
 
+#print ConvexOn.translate_left /-
 /-- Left translation preserves convexity. -/
 theorem ConvexOn.translate_left (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align convex_on.translate_left ConvexOn.translate_left
+-/
 
+#print ConcaveOn.translate_left /-
 /-- Left translation preserves concavity. -/
 theorem ConcaveOn.translate_left (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) :=
   hf.dual.translate_left _
 #align concave_on.translate_left ConcaveOn.translate_left
+-/
 
 end Module
 
@@ -339,6 +403,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β]
 
+#print convexOn_iff_forall_pos /-
 theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -357,7 +422,9 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
   · rw [add_zero] at hab ; subst a; simp_rw [zero_smul, add_zero, one_smul]
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
+-/
 
+#print concaveOn_iff_forall_pos /-
 theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -368,7 +435,9 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
                 ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 → a • f x + b • f y ≤ f (a • x + b • y) :=
   @convexOn_iff_forall_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_forall_pos concaveOn_iff_forall_pos
+-/
 
+#print convexOn_iff_pairwise_pos /-
 theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -383,7 +452,9 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   · rw [Convex.combo_self hab, Convex.combo_self hab]
   exact h hx hy hxy ha hb hab
 #align convex_on_iff_pairwise_pos convexOn_iff_pairwise_pos
+-/
 
+#print concaveOn_iff_pairwise_pos /-
 theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -391,32 +462,42 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
           ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 → a • f x + b • f y ≤ f (a • x + b • y) :=
   @convexOn_iff_pairwise_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_pos
+-/
 
+#print LinearMap.convexOn /-
 /-- A linear map is convex. -/
 theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.convex_on LinearMap.convexOn
+-/
 
+#print LinearMap.concaveOn /-
 /-- A linear map is concave. -/
 theorem LinearMap.concaveOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.concave_on LinearMap.concaveOn
+-/
 
+#print StrictConvexOn.convexOn /-
 theorem StrictConvexOn.convexOn {s : Set E} {f : E → β} (hf : StrictConvexOn 𝕜 s f) :
     ConvexOn 𝕜 s f :=
   convexOn_iff_pairwise_pos.mpr
     ⟨hf.1, fun x hx y hy hxy a b ha hb hab => (hf.2 hx hy hxy ha hb hab).le⟩
 #align strict_convex_on.convex_on StrictConvexOn.convexOn
+-/
 
+#print StrictConcaveOn.concaveOn /-
 theorem StrictConcaveOn.concaveOn {s : Set E} {f : E → β} (hf : StrictConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s f :=
   hf.dual.ConvexOn
 #align strict_concave_on.concave_on StrictConcaveOn.concaveOn
+-/
 
 section OrderedSMul
 
 variable [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+#print StrictConvexOn.convex_lt /-
 theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({x ∈ s | f x < r}) :=
   convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
@@ -427,11 +508,14 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
           (add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le)
         _ = r := Convex.combo_self hab r⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
+-/
 
+#print StrictConcaveOn.convex_gt /-
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align strict_concave_on.convex_gt StrictConcaveOn.convex_gt
+-/
 
 end OrderedSMul
 
@@ -439,6 +523,7 @@ section LinearOrder
 
 variable [LinearOrder E] {s : Set E} {f : E → β}
 
+#print LinearOrder.convexOn_of_lt /-
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is convex, it suffices to
 verify the inequality `f (a • x + b • y) ≤ a • f x + b • f y` only for `x < y` and positive `a`,
@@ -460,7 +545,9 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
+-/
 
+#print LinearOrder.concaveOn_of_lt /-
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is concave it suffices to
 verify the inequality `a • f x + b • f y ≤ f (a • x + b • y)` for `x < y` and positive `a`, `b`. The
@@ -476,7 +563,9 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
     ConcaveOn 𝕜 s f :=
   @LinearOrder.convexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ s f hs hf
 #align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_lt
+-/
 
+#print LinearOrder.strictConvexOn_of_lt /-
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly convex, it suffices
 to verify the inequality `f (a • x + b • y) < a • f x + b • f y` for `x < y` and positive `a`, `b`.
@@ -497,7 +586,9 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
+-/
 
+#print LinearOrder.strictConcaveOn_of_lt /-
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices
 to verify the inequality `a • f x + b • f y < f (a • x + b • y)` for `x < y` and positive `a`, `b`.
@@ -513,6 +604,7 @@ theorem LinearOrder.strictConcaveOn_of_lt (hs : Convex 𝕜 s)
     StrictConcaveOn 𝕜 s f :=
   @LinearOrder.strictConvexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ _ _ hs hf
 #align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_lt
+-/
 
 end LinearOrder
 
@@ -522,6 +614,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
+#print ConvexOn.comp_linearMap /-
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -530,12 +623,15 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
       f (g (a • x + b • y)) = f (a • g x + b • g y) := by rw [g.map_add, g.map_smul, g.map_smul]
       _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.comp_linear_map ConvexOn.comp_linearMap
+-/
 
+#print ConcaveOn.comp_linearMap /-
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
   hf.dual.comp_linearMap g
 #align concave_on.comp_linear_map ConcaveOn.comp_linearMap
+-/
 
 end Module
 
@@ -549,6 +645,7 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
+#print StrictConvexOn.add_convexOn /-
 theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -557,12 +654,16 @@ theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexO
         add_lt_add_of_lt_of_le (hf.2 hx hy hxy ha hb hab) (hg.2 hx hy ha.le hb.le hab)
       _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align strict_convex_on.add_convex_on StrictConvexOn.add_convexOn
+-/
 
+#print ConvexOn.add_strictConvexOn /-
 theorem ConvexOn.add_strictConvexOn (hf : ConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   add_comm g f ▸ hg.add_convexOn hf
 #align convex_on.add_strict_convex_on ConvexOn.add_strictConvexOn
+-/
 
+#print StrictConvexOn.add /-
 theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -571,21 +672,28 @@ theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
         add_lt_add (hf.2 hx hy hxy ha hb hab) (hg.2 hx hy hxy ha hb hab)
       _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align strict_convex_on.add StrictConvexOn.add
+-/
 
+#print StrictConcaveOn.add_concaveOn /-
 theorem StrictConcaveOn.add_concaveOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_convexOn hg.dual
 #align strict_concave_on.add_concave_on StrictConcaveOn.add_concaveOn
+-/
 
+#print ConcaveOn.add_strictConcaveOn /-
 theorem ConcaveOn.add_strictConcaveOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_strictConvexOn hg.dual
 #align concave_on.add_strict_concave_on ConcaveOn.add_strictConcaveOn
+-/
 
+#print StrictConcaveOn.add /-
 theorem StrictConcaveOn.add (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
 #align strict_concave_on.add StrictConcaveOn.add
+-/
 
 end DistribMulAction
 
@@ -593,6 +701,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+#print ConvexOn.convex_lt /-
 theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | f x < r}) :=
   convex_iff_forall_pos.2 fun x hx y hy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
@@ -603,11 +712,15 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
             (smul_le_smul_of_nonneg hy.2.le hb.le))
         _ = r := Convex.combo_self hab _⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
+-/
 
+#print ConcaveOn.convex_gt /-
 theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align concave_on.convex_gt ConcaveOn.convex_gt
+-/
 
+#print ConvexOn.openSegment_subset_strict_epigraph /-
 theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≤ q.2) :
     openSegment 𝕜 p q ⊆ {p : E × β | p.1 ∈ s ∧ f p.1 < p.2} :=
@@ -619,23 +732,30 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
     _ < a • p.2 + b • q.2 :=
       add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
+-/
 
+#print ConcaveOn.openSegment_subset_strict_hypograph /-
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
     openSegment 𝕜 p q ⊆ {p : E × β | p.1 ∈ s ∧ p.2 < f p.1} :=
   hf.dual.openSegment_subset_strict_epigraph p q hp hq
 #align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypograph
+-/
 
+#print ConvexOn.convex_strict_epigraph /-
 theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 < p.2} :=
   convex_iff_openSegment_subset.mpr fun p hp q hq =>
     hf.openSegment_subset_strict_epigraph p q hp ⟨hq.1, hq.2.le⟩
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
+-/
 
+#print ConcaveOn.convex_strict_hypograph /-
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 < f p.1} :=
   hf.dual.convex_strict_epigraph
 #align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypograph
+-/
 
 end Module
 
@@ -646,6 +766,7 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid β] [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E}
   {f g : E → β}
 
+#print ConvexOn.sup /-
 /-- The pointwise maximum of convex functions is convex. -/
 theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f ⊔ g) :=
   by
@@ -661,12 +782,16 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
         add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
 #align convex_on.sup ConvexOn.sup
+-/
 
+#print ConcaveOn.inf /-
 /-- The pointwise minimum of concave functions is concave. -/
 theorem ConcaveOn.inf (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align concave_on.inf ConcaveOn.inf
+-/
 
+#print StrictConvexOn.sup /-
 /-- The pointwise maximum of strictly convex functions is strictly convex. -/
 theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f ⊔ g) :=
@@ -683,13 +808,17 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
           add_le_add (smul_le_smul_of_nonneg le_sup_right ha.le)
             (smul_le_smul_of_nonneg le_sup_right hb.le))⟩
 #align strict_convex_on.sup StrictConvexOn.sup
+-/
 
+#print StrictConcaveOn.inf /-
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
 theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align strict_concave_on.inf StrictConcaveOn.inf
+-/
 
+#print ConvexOn.le_on_segment' /-
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s) {a b : 𝕜}
     (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : f (a • x + b • y) ≤ max (f x) (f y) :=
@@ -700,26 +829,34 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
         (smul_le_smul_of_nonneg (le_max_right _ _) hb))
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
+-/
 
+#print ConcaveOn.ge_on_segment' /-
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : min (f x) (f y) ≤ f (a • x + b • y) :=
   hf.dual.le_on_segment' hx hy ha hb hab
 #align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'
+-/
 
+#print ConvexOn.le_on_segment /-
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : f z ≤ max (f x) (f y) :=
   let ⟨a, b, ha, hb, hab, hz⟩ := hz
   hz ▸ hf.le_on_segment' hx hy ha hb hab
 #align convex_on.le_on_segment ConvexOn.le_on_segment
+-/
 
+#print ConcaveOn.ge_on_segment /-
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : min (f x) (f y) ≤ f z :=
   hf.dual.le_on_segment hx hy hz
 #align concave_on.ge_on_segment ConcaveOn.ge_on_segment
+-/
 
+#print StrictConvexOn.lt_on_open_segment' /-
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -732,7 +869,9 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
         (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
+-/
 
+#print StrictConcaveOn.lt_on_open_segment' /-
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -740,7 +879,9 @@ theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y
     min (f x) (f y) < f (a • x + b • y) :=
   hf.dual.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'
+-/
 
+#print StrictConvexOn.lt_on_openSegment /-
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -748,13 +889,16 @@ theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z :
   let ⟨a, b, ha, hb, hab, hz⟩ := hz
   hz ▸ hf.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegment
+-/
 
+#print StrictConcaveOn.lt_on_openSegment /-
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_openSegment (hf : StrictConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
     (hy : y ∈ s) (hxy : x ≠ y) (hz : z ∈ openSegment 𝕜 x y) : min (f x) (f y) < f z :=
   hf.dual.lt_on_openSegment hx hy hxy hz
 #align strict_concave_on.lt_on_open_segment StrictConcaveOn.lt_on_openSegment
+-/
 
 end LinearOrderedAddCommMonoid
 
@@ -766,6 +910,7 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
+#print ConvexOn.le_left_of_right_le' /-
 theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f y ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f x :=
@@ -777,49 +922,64 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
           (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
+-/
 
+#print ConcaveOn.left_le_of_le_right' /-
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f (a • x + b • y) ≤ f y) :
     f x ≤ f (a • x + b • y) :=
   hf.dual.le_left_of_right_le' hx hy ha hb hab hfy
 #align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'
+-/
 
+#print ConvexOn.le_right_of_left_le' /-
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f y := by
   rw [add_comm] at hab hfx ⊢
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
+-/
 
+#print ConcaveOn.right_le_of_le_left' /-
 theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) ≤ f x) :
     f y ≤ f (a • x + b • y) :=
   hf.dual.le_right_of_left_le' hx hy ha hb hab hfx
 #align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'
+-/
 
+#print ConvexOn.le_left_of_right_le /-
 theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y ≤ f z) : f z ≤ f x :=
   by
   obtain ⟨a, b, ha, hb, hab, rfl⟩ := hz
   exact hf.le_left_of_right_le' hx hy ha hb.le hab hyz
 #align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_le
+-/
 
+#print ConcaveOn.left_le_of_le_right /-
 theorem ConcaveOn.left_le_of_le_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z ≤ f y) : f x ≤ f z :=
   hf.dual.le_left_of_right_le hx hy hz hyz
 #align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_right
+-/
 
+#print ConvexOn.le_right_of_left_le /-
 theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x ≤ f z) : f z ≤ f y :=
   by
   obtain ⟨a, b, ha, hb, hab, rfl⟩ := hz
   exact hf.le_right_of_left_le' hx hy ha.le hb hab hxz
 #align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_le
+-/
 
+#print ConcaveOn.right_le_of_le_left /-
 theorem ConcaveOn.right_le_of_le_left (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z ≤ f x) : f y ≤ f z :=
   hf.dual.le_right_of_left_le hx hy hz hxz
 #align concave_on.right_le_of_le_left ConcaveOn.right_le_of_le_left
+-/
 
 end OrderedSMul
 
@@ -827,6 +987,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
+#print ConvexOn.lt_left_of_right_lt' /-
 /- The following lemmas don't require `module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
 the writing, we decided the resulting lemmas wouldn't be useful. Feel free to reintroduce them. -/
 theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -840,49 +1001,64 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
           (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
+-/
 
+#print ConcaveOn.left_lt_of_lt_right' /-
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a • x + b • y) < f y) :
     f x < f (a • x + b • y) :=
   hf.dual.lt_left_of_right_lt' hx hy ha hb hab hfy
 #align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'
+-/
 
+#print ConvexOn.lt_right_of_left_lt' /-
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
     f (a • x + b • y) < f y := by
   rw [add_comm] at hab hfx ⊢
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
+-/
 
+#print ConcaveOn.lt_right_of_left_lt' /-
 theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) < f x) :
     f y < f (a • x + b • y) :=
   hf.dual.lt_right_of_left_lt' hx hy ha hb hab hfx
 #align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'
+-/
 
+#print ConvexOn.lt_left_of_right_lt /-
 theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y < f z) : f z < f x :=
   by
   obtain ⟨a, b, ha, hb, hab, rfl⟩ := hz
   exact hf.lt_left_of_right_lt' hx hy ha hb hab hyz
 #align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_lt
+-/
 
+#print ConcaveOn.left_lt_of_lt_right /-
 theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z < f y) : f x < f z :=
   hf.dual.lt_left_of_right_lt hx hy hz hyz
 #align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_right
+-/
 
+#print ConvexOn.lt_right_of_left_lt /-
 theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x < f z) : f z < f y :=
   by
   obtain ⟨a, b, ha, hb, hab, rfl⟩ := hz
   exact hf.lt_right_of_left_lt' hx hy ha hb hab hxz
 #align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_lt
+-/
 
+#print ConcaveOn.lt_right_of_left_lt /-
 theorem ConcaveOn.lt_right_of_left_lt (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z < f x) : f y < f z :=
   hf.dual.lt_right_of_left_lt hx hy hz hxz
 #align concave_on.lt_right_of_left_lt ConcaveOn.lt_right_of_left_lt
+-/
 
 end Module
 
@@ -892,6 +1068,7 @@ section OrderedAddCommGroup
 
 variable [OrderedAddCommGroup β] [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f g : E → β}
 
+#print neg_convexOn_iff /-
 /-- A function `-f` is convex iff `f` is concave. -/
 @[simp]
 theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
@@ -907,13 +1084,17 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
     simp_rw [neg_add, Pi.neg_apply, smul_neg, neg_neg]
     exact h hx hy ha hb hab
 #align neg_convex_on_iff neg_convexOn_iff
+-/
 
+#print neg_concaveOn_iff /-
 /-- A function `-f` is concave iff `f` is convex. -/
 @[simp]
 theorem neg_concaveOn_iff : ConcaveOn 𝕜 s (-f) ↔ ConvexOn 𝕜 s f := by
   rw [← neg_convexOn_iff, neg_neg f]
 #align neg_concave_on_iff neg_concaveOn_iff
+-/
 
+#print neg_strictConvexOn_iff /-
 /-- A function `-f` is strictly convex iff `f` is strictly concave. -/
 @[simp]
 theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn 𝕜 s f :=
@@ -929,12 +1110,15 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
     simp_rw [neg_add, Pi.neg_apply, smul_neg, neg_neg]
     exact h hx hy hxy ha hb hab
 #align neg_strict_convex_on_iff neg_strictConvexOn_iff
+-/
 
+#print neg_strictConcaveOn_iff /-
 /-- A function `-f` is strictly concave iff `f` is strictly convex. -/
 @[simp]
 theorem neg_strictConcaveOn_iff : StrictConcaveOn 𝕜 s (-f) ↔ StrictConvexOn 𝕜 s f := by
   rw [← neg_strictConvexOn_iff, neg_neg f]
 #align neg_strict_concave_on_iff neg_strictConcaveOn_iff
+-/
 
 alias neg_convexOn_iff ↔ _ ConcaveOn.neg
 #align concave_on.neg ConcaveOn.neg
@@ -948,43 +1132,59 @@ alias neg_strictConvexOn_iff ↔ _ StrictConcaveOn.neg
 alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
 #align strict_convex_on.neg StrictConvexOn.neg
 
+#print ConvexOn.sub /-
 theorem ConvexOn.sub (hf : ConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align convex_on.sub ConvexOn.sub
+-/
 
+#print ConcaveOn.sub /-
 theorem ConcaveOn.sub (hf : ConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align concave_on.sub ConcaveOn.sub
+-/
 
+#print StrictConvexOn.sub /-
 theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_convex_on.sub StrictConvexOn.sub
+-/
 
+#print StrictConcaveOn.sub /-
 theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_concave_on.sub StrictConcaveOn.sub
+-/
 
+#print ConvexOn.sub_strictConcaveOn /-
 theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConvexOn hg.neg
 #align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOn
+-/
 
+#print ConcaveOn.sub_strictConvexOn /-
 theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConcaveOn hg.neg
 #align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOn
+-/
 
+#print StrictConvexOn.sub_concaveOn /-
 theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_convexOn hg.neg
 #align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOn
+-/
 
+#print StrictConcaveOn.sub_convexOn /-
 theorem StrictConcaveOn.sub_convexOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_concaveOn hg.neg
 #align strict_concave_on.sub_convex_on StrictConcaveOn.sub_convexOn
+-/
 
 end OrderedAddCommGroup
 
@@ -995,6 +1195,7 @@ section AddCancelCommMonoid
 variable [AddCancelCommMonoid E] [OrderedAddCommMonoid β] [Module 𝕜 E] [SMul 𝕜 β] {s : Set E}
   {f : E → β}
 
+#print StrictConvexOn.translate_right /-
 /-- Right translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -1004,24 +1205,31 @@ theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
         rw [smul_add, smul_add, add_add_add_comm, Convex.combo_self hab]
       _ < a • f (c + x) + b • f (c + y) := hf.2 hx hy ((add_right_injective c).Ne hxy) ha hb hab⟩
 #align strict_convex_on.translate_right StrictConvexOn.translate_right
+-/
 
+#print StrictConcaveOn.translate_right /-
 /-- Right translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_right (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align strict_concave_on.translate_right StrictConcaveOn.translate_right
+-/
 
+#print StrictConvexOn.translate_left /-
 /-- Left translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_left (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align strict_convex_on.translate_left StrictConvexOn.translate_left
+-/
 
+#print StrictConcaveOn.translate_left /-
 /-- Left translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_left (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align strict_concave_on.translate_left StrictConcaveOn.translate_left
+-/
 
 end AddCancelCommMonoid
 
@@ -1039,6 +1247,7 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+#print ConvexOn.smul /-
 theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : ConvexOn 𝕜 s fun x => c • f x :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -1047,11 +1256,14 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
       _ = a • c • f x + b • c • f y := by
         rw [smul_add, smul_comm c, smul_comm c] <;> infer_instance⟩
 #align convex_on.smul ConvexOn.smul
+-/
 
+#print ConcaveOn.smul /-
 theorem ConcaveOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s fun x => c • f x :=
   hf.dual.smul hc
 #align concave_on.smul ConcaveOn.smul
+-/
 
 end Module
 
@@ -1071,6 +1283,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
+#print ConvexOn.comp_affineMap /-
 /-- If a function is convex on `s`, it remains convex when precomposed by an affine map. -/
 theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConvexOn 𝕜 s f) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -1080,12 +1293,15 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
       _ = f (a • g x + b • g y) := by rw [Convex.combo_affine_apply hab]
       _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.comp_affine_map ConvexOn.comp_affineMap
+-/
 
+#print ConcaveOn.comp_affineMap /-
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
 theorem ConcaveOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
   hf.dual.comp_affineMap g
 #align concave_on.comp_affine_map ConcaveOn.comp_affineMap
+-/
 
 end Module
 
@@ -1105,6 +1321,7 @@ section SMul
 
 variable [SMul 𝕜 E] [SMul 𝕜 β] {s : Set E}
 
+#print convexOn_iff_div /-
 theorem convexOn_iff_div {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1127,7 +1344,9 @@ theorem convexOn_iff_div {f : E → β} :
       intro h x hx y hy a b ha hb hab
       simpa [hab, zero_lt_one] using h hx hy ha hb⟩
 #align convex_on_iff_div convexOn_iff_div
+-/
 
+#print concaveOn_iff_div /-
 theorem concaveOn_iff_div {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1143,7 +1362,9 @@ theorem concaveOn_iff_div {f : E → β} :
                           f ((a / (a + b)) • x + (b / (a + b)) • y) :=
   @convexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_div concaveOn_iff_div
+-/
 
+#print strictConvexOn_iff_div /-
 theorem strictConvexOn_iff_div {f : E → β} :
     StrictConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1167,7 +1388,9 @@ theorem strictConvexOn_iff_div {f : E → β} :
       intro h x hx y hy hxy a b ha hb hab
       simpa [hab, zero_lt_one] using h hx hy hxy ha hb⟩
 #align strict_convex_on_iff_div strictConvexOn_iff_div
+-/
 
+#print strictConcaveOn_iff_div /-
 theorem strictConcaveOn_iff_div {f : E → β} :
     StrictConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1183,6 +1406,7 @@ theorem strictConcaveOn_iff_div {f : E → β} :
                           f ((a / (a + b)) • x + (b / (a + b)) • y) :=
   @strictConvexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
 #align strict_concave_on_iff_div strictConcaveOn_iff_div
+-/
 
 end SMul
 
@@ -1195,27 +1419,35 @@ section
 variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
   {x y z : 𝕜} {s : Set 𝕜} {f : 𝕜 → β}
 
+#print ConvexOn.le_right_of_left_le'' /-
 theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y)
     (hyz : y ≤ z) (h : f x ≤ f y) : f y ≤ f z :=
   hyz.eq_or_lt.elim (fun hyz => (congr_arg f hyz).le) fun hyz =>
     hf.le_right_of_left_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''
+-/
 
+#print ConvexOn.le_left_of_right_le'' /-
 theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≤ y)
     (hyz : y < z) (h : f z ≤ f y) : f y ≤ f x :=
   hxy.eq_or_lt.elim (fun hxy => (congr_arg f hxy).ge) fun hxy =>
     hf.le_left_of_right_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''
+-/
 
+#print ConcaveOn.right_le_of_le_left'' /-
 theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x < y) (hyz : y ≤ z) (h : f y ≤ f x) : f z ≤ f y :=
   hf.dual.le_right_of_left_le'' hx hz hxy hyz h
 #align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''
+-/
 
+#print ConcaveOn.left_le_of_le_right'' /-
 theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x ≤ y) (hyz : y < z) (h : f y ≤ f z) : f x ≤ f y :=
   hf.dual.le_left_of_right_le'' hx hz hxy hyz h
 #align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''
+-/
 
 end
 
Diff
@@ -222,8 +222,7 @@ theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
     calc
       f (a • x + b • y) + g (a • x + b • y) ≤ a • f x + b • f y + (a • g x + b • g y) :=
         add_le_add (hf.2 hx hy ha hb hab) (hg.2 hx hy ha hb hab)
-      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]
-      ⟩
+      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align convex_on.add ConvexOn.add
 
 theorem ConcaveOn.add (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f + g) :=
@@ -268,8 +267,7 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
       f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha hb hab
       _ ≤ a • r + b • r :=
         (add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb))
-      _ = r := Convex.combo_self hab r
-      ⟩
+      _ = r := Convex.combo_self hab r⟩
 #align convex_on.convex_le ConvexOn.convex_le
 
 theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r ≤ f x}) :=
@@ -284,7 +282,6 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
     _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
-    
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
@@ -315,8 +312,7 @@ theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
     calc
       f (c + (a • x + b • y)) = f (a • (c + x) + b • (c + y)) := by
         rw [smul_add, smul_add, add_add_add_comm, Convex.combo_self hab]
-      _ ≤ a • f (c + x) + b • f (c + y) := hf.2 hx hy ha hb hab
-      ⟩
+      _ ≤ a • f (c + x) + b • f (c + y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.translate_right ConvexOn.translate_right
 
 /-- Right translation preserves concavity. -/
@@ -429,8 +425,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx.1 hy.1 hxy ha hb hab
         _ ≤ a • r + b • r :=
           (add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le)
-        _ = r := Convex.combo_self hab r
-        ⟩
+        _ = r := Convex.combo_self hab r⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
@@ -533,8 +528,7 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
   ⟨hf.1.linear_preimage _, fun x hx y hy a b ha hb hab =>
     calc
       f (g (a • x + b • y)) = f (a • g x + b • g y) := by rw [g.map_add, g.map_smul, g.map_smul]
-      _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab
-      ⟩
+      _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.comp_linear_map ConvexOn.comp_linearMap
 
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
@@ -561,8 +555,7 @@ theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexO
     calc
       f (a • x + b • y) + g (a • x + b • y) < a • f x + b • f y + (a • g x + b • g y) :=
         add_lt_add_of_lt_of_le (hf.2 hx hy hxy ha hb hab) (hg.2 hx hy ha.le hb.le hab)
-      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]
-      ⟩
+      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align strict_convex_on.add_convex_on StrictConvexOn.add_convexOn
 
 theorem ConvexOn.add_strictConvexOn (hf : ConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
@@ -576,8 +569,7 @@ theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
     calc
       f (a • x + b • y) + g (a • x + b • y) < a • f x + b • f y + (a • g x + b • g y) :=
         add_lt_add (hf.2 hx hy hxy ha hb hab) (hg.2 hx hy hxy ha hb hab)
-      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]
-      ⟩
+      _ = a • (f x + g x) + b • (f y + g y) := by rw [smul_add, smul_add, add_add_add_comm]⟩
 #align strict_convex_on.add StrictConvexOn.add
 
 theorem StrictConcaveOn.add_concaveOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
@@ -609,8 +601,7 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x 
         _ < a • r + b • r :=
           (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hx.2 ha)
             (smul_le_smul_of_nonneg hy.2.le hb.le))
-        _ = r := Convex.combo_self hab _
-        ⟩
+        _ = r := Convex.combo_self hab _⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
 theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r < f x}) :=
@@ -627,7 +618,6 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
     f (a • p.1 + b • q.1) ≤ a • f p.1 + b • f q.1 := hf.2 hp.1 hq.1 ha.le hb.le hab
     _ < a • p.2 + b • q.2 :=
       add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
-    
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
@@ -665,13 +655,11 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       f (a • x + b • y) ≤ a • f x + b • f y := hf.right hx hy ha hb hab
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
         add_le_add (smul_le_smul_of_nonneg le_sup_left ha) (smul_le_smul_of_nonneg le_sup_left hb)
-      
   ·
     calc
       g (a • x + b • y) ≤ a • g x + b • g y := hg.right hx hy ha hb hab
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
         add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
-      
 #align convex_on.sup ConvexOn.sup
 
 /-- The pointwise minimum of concave functions is concave. -/
@@ -688,14 +676,12 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
         _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
           add_le_add (smul_le_smul_of_nonneg le_sup_left ha.le)
-            (smul_le_smul_of_nonneg le_sup_left hb.le)
-        )
+            (smul_le_smul_of_nonneg le_sup_left hb.le))
       (calc
         g (a • x + b • y) < a • g x + b • g y := hg.2 hx hy hxy ha hb hab
         _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
           add_le_add (smul_le_smul_of_nonneg le_sup_right ha.le)
-            (smul_le_smul_of_nonneg le_sup_right hb.le)
-        )⟩
+            (smul_le_smul_of_nonneg le_sup_right hb.le))⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
@@ -713,7 +699,6 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
       (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha)
         (smul_le_smul_of_nonneg (le_max_right _ _) hb))
     _ = max (f x) (f y) := Convex.combo_self hab _
-    
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
@@ -746,7 +731,6 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
       (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
         (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
     _ = max (f x) (f y) := Convex.combo_self hab _
-    
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
@@ -792,7 +776,6 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
           (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
-        
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -856,7 +839,6 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
           (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
-        
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -1020,8 +1002,7 @@ theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
     calc
       f (c + (a • x + b • y)) = f (a • (c + x) + b • (c + y)) := by
         rw [smul_add, smul_add, add_add_add_comm, Convex.combo_self hab]
-      _ < a • f (c + x) + b • f (c + y) := hf.2 hx hy ((add_right_injective c).Ne hxy) ha hb hab
-      ⟩
+      _ < a • f (c + x) + b • f (c + y) := hf.2 hx hy ((add_right_injective c).Ne hxy) ha hb hab⟩
 #align strict_convex_on.translate_right StrictConvexOn.translate_right
 
 /-- Right translation preserves strict concavity. -/
@@ -1063,8 +1044,8 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
     calc
       c • f (a • x + b • y) ≤ c • (a • f x + b • f y) :=
         smul_le_smul_of_nonneg (hf.2 hx hy ha hb hab) hc
-      _ = a • c • f x + b • c • f y := by rw [smul_add, smul_comm c, smul_comm c] <;> infer_instance
-      ⟩
+      _ = a • c • f x + b • c • f y := by
+        rw [smul_add, smul_comm c, smul_comm c] <;> infer_instance⟩
 #align convex_on.smul ConvexOn.smul
 
 theorem ConcaveOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConcaveOn 𝕜 s f) :
@@ -1097,8 +1078,7 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
     calc
       (f ∘ g) (a • x + b • y) = f (g (a • x + b • y)) := rfl
       _ = f (a • g x + b • g y) := by rw [Convex.combo_affine_apply hab]
-      _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab
-      ⟩
+      _ ≤ a • f (g x) + b • f (g y) := hf.2 hx hy ha hb hab⟩
 #align convex_on.comp_affine_map ConvexOn.comp_affineMap
 
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
Diff
@@ -244,13 +244,13 @@ theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun x :
   @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
 #align concave_on_const concaveOn_const
 
-theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 }) :
+theorem convexOn_of_convex_epigraph (h : Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2}) :
     ConvexOn 𝕜 s f :=
   ⟨fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).1,
     fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).2⟩
 #align convex_on_of_convex_epigraph convexOn_of_convex_epigraph
 
-theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 }) :
+theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1}) :
     ConcaveOn 𝕜 s f :=
   @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
 #align concave_on_of_convex_hypograph concaveOn_of_convex_hypograph
@@ -261,7 +261,7 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x ≤ r }) :=
+theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | f x ≤ r}) :=
   fun x hx y hy a b ha hb hab =>
   ⟨hf.1 hx.1 hy.1 ha hb hab,
     calc
@@ -272,12 +272,12 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
 
-theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r ≤ f x }) :=
+theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r ≤ f x}) :=
   hf.dual.convex_le r
 #align concave_on.convex_ge ConcaveOn.convex_ge
 
 theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
-    Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
+    Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2} :=
   by
   rintro ⟨x, r⟩ ⟨hx, hr⟩ ⟨y, t⟩ ⟨hy, ht⟩ a b ha hb hab
   refine' ⟨hf.1 hx hy ha hb hab, _⟩
@@ -288,17 +288,17 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
-    Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
+    Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1} :=
   hf.dual.convex_epigraph
 #align concave_on.convex_hypograph ConcaveOn.convex_hypograph
 
 theorem convexOn_iff_convex_epigraph :
-    ConvexOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
+    ConvexOn 𝕜 s f ↔ Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2} :=
   ⟨ConvexOn.convex_epigraph, convexOn_of_convex_epigraph⟩
 #align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraph
 
 theorem concaveOn_iff_convex_hypograph :
-    ConcaveOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
+    ConcaveOn 𝕜 s f ↔ Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1} :=
   @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
 #align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypograph
 
@@ -422,7 +422,7 @@ section OrderedSMul
 variable [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
 theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
-    Convex 𝕜 ({ x ∈ s | f x < r }) :=
+    Convex 𝕜 ({x ∈ s | f x < r}) :=
   convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
       calc
@@ -434,7 +434,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
-    Convex 𝕜 ({ x ∈ s | r < f x }) :=
+    Convex 𝕜 ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align strict_concave_on.convex_gt StrictConcaveOn.convex_gt
 
@@ -601,7 +601,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x < r }) :=
+theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | f x < r}) :=
   convex_iff_forall_pos.2 fun x hx y hy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
       calc
@@ -613,13 +613,13 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
         ⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
-theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r < f x }) :=
+theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align concave_on.convex_gt ConcaveOn.convex_gt
 
 theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≤ q.2) :
-    openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
+    openSegment 𝕜 p q ⊆ {p : E × β | p.1 ∈ s ∧ f p.1 < p.2} :=
   by
   rintro _ ⟨a, b, ha, hb, hab, rfl⟩
   refine' ⟨hf.1 hp.1 hq.1 ha.le hb.le hab, _⟩
@@ -632,18 +632,18 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
 
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
-    openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
+    openSegment 𝕜 p q ⊆ {p : E × β | p.1 ∈ s ∧ p.2 < f p.1} :=
   hf.dual.openSegment_subset_strict_epigraph p q hp hq
 #align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypograph
 
 theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
-    Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
+    Convex 𝕜 {p : E × β | p.1 ∈ s ∧ f p.1 < p.2} :=
   convex_iff_openSegment_subset.mpr fun p hp q hq =>
     hf.openSegment_subset_strict_epigraph p q hp ⟨hq.1, hq.2.le⟩
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
 
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
-    Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
+    Convex 𝕜 {p : E × β | p.1 ∈ s ∧ p.2 < f p.1} :=
   hf.dual.convex_strict_epigraph
 #align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypograph
 
Diff
@@ -123,13 +123,13 @@ theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 
 
 #print convexOn_id /-
 theorem convexOn_id {s : Set β} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s id :=
-  ⟨hs, by intros ; rfl⟩
+  ⟨hs, by intros; rfl⟩
 #align convex_on_id convexOn_id
 -/
 
 #print concaveOn_id /-
 theorem concaveOn_id {s : Set β} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s id :=
-  ⟨hs, by intros ; rfl⟩
+  ⟨hs, by intros; rfl⟩
 #align concave_on_id concaveOn_id
 -/
 
@@ -356,9 +356,9 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     and_congr_right'
       ⟨fun h x hx y hy a b ha hb hab => h hx hy ha.le hb.le hab, fun h x hx y hy a b ha hb hab => _⟩
   obtain rfl | ha' := ha.eq_or_lt
-  · rw [zero_add] at hab; subst b; simp_rw [zero_smul, zero_add, one_smul]
+  · rw [zero_add] at hab ; subst b; simp_rw [zero_smul, zero_add, one_smul]
   obtain rfl | hb' := hb.eq_or_lt
-  · rw [add_zero] at hab; subst a; simp_rw [zero_smul, add_zero, one_smul]
+  · rw [add_zero] at hab ; subst a; simp_rw [zero_smul, add_zero, one_smul]
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
@@ -461,7 +461,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' convexOn_iff_pairwise_pos.2 ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab 
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
@@ -498,7 +498,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab 
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
@@ -804,7 +804,7 @@ theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f y := by
-  rw [add_comm] at hab hfx⊢
+  rw [add_comm] at hab hfx ⊢
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
@@ -868,7 +868,7 @@ theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
     f (a • x + b • y) < f y := by
-  rw [add_comm] at hab hfx⊢
+  rw [add_comm] at hab hfx ⊢
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
@@ -917,7 +917,7 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
-    simp [neg_apply, neg_le, add_comm] at h
+    simp [neg_apply, neg_le, add_comm] at h 
     exact h hx hy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
@@ -939,7 +939,7 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
-    simp [neg_apply, neg_lt, add_comm] at h
+    simp [neg_apply, neg_lt, add_comm] at h 
     exact h hx hy hxy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
Diff
@@ -35,7 +35,7 @@ a convex set.
 
 open Finset LinearMap Set
 
-open BigOperators Classical Convex Pointwise
+open scoped BigOperators Classical Convex Pointwise
 
 variable {𝕜 E F α β ι : Type _}
 
Diff
@@ -105,42 +105,18 @@ variable {𝕜 s f}
 
 open OrderDual (toDual ofDual)
 
-/- warning: convex_on.dual -> ConvexOn.dual is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
-Case conversion may be inaccurate. Consider using '#align convex_on.dual ConvexOn.dualₓ'. -/
 theorem ConvexOn.dual (hf : ConvexOn 𝕜 s f) : ConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align convex_on.dual ConvexOn.dual
 
-/- warning: concave_on.dual -> ConcaveOn.dual is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
-Case conversion may be inaccurate. Consider using '#align concave_on.dual ConcaveOn.dualₓ'. -/
 theorem ConcaveOn.dual (hf : ConcaveOn 𝕜 s f) : ConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align concave_on.dual ConcaveOn.dual
 
-/- warning: strict_convex_on.dual -> StrictConvexOn.dual is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.dual StrictConvexOn.dualₓ'. -/
 theorem StrictConvexOn.dual (hf : StrictConvexOn 𝕜 s f) : StrictConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_convex_on.dual StrictConvexOn.dual
 
-/- warning: strict_concave_on.dual -> StrictConcaveOn.dual is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.dual StrictConcaveOn.dualₓ'. -/
 theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_concave_on.dual StrictConcaveOn.dual
@@ -157,56 +133,26 @@ theorem concaveOn_id {s : Set β} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s id :=
 #align concave_on_id concaveOn_id
 -/
 
-/- warning: convex_on.subset -> ConvexOn.subset is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-Case conversion may be inaccurate. Consider using '#align convex_on.subset ConvexOn.subsetₓ'. -/
 theorem ConvexOn.subset {t : Set E} (hf : ConvexOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align convex_on.subset ConvexOn.subset
 
-/- warning: concave_on.subset -> ConcaveOn.subset is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-Case conversion may be inaccurate. Consider using '#align concave_on.subset ConcaveOn.subsetₓ'. -/
 theorem ConcaveOn.subset {t : Set E} (hf : ConcaveOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align concave_on.subset ConcaveOn.subset
 
-/- warning: strict_convex_on.subset -> StrictConvexOn.subset is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.subset StrictConvexOn.subsetₓ'. -/
 theorem StrictConvexOn.subset {t : Set E} (hf : StrictConvexOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_convex_on.subset StrictConvexOn.subset
 
-/- warning: strict_concave_on.subset -> StrictConcaveOn.subset is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.subset StrictConcaveOn.subsetₓ'. -/
 theorem StrictConcaveOn.subset {t : Set E} (hf : StrictConcaveOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_concave_on.subset StrictConcaveOn.subset
 
-/- warning: convex_on.comp -> ConvexOn.comp is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align convex_on.comp ConvexOn.compₓ'. -/
 theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -216,12 +162,6 @@ theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) ha hb hab⟩
 #align convex_on.comp ConvexOn.comp
 
-/- warning: concave_on.comp -> ConcaveOn.comp is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align concave_on.comp ConcaveOn.compₓ'. -/
 theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -231,34 +171,16 @@ theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f
         hf.2 hx hy ha hb hab⟩
 #align concave_on.comp ConcaveOn.comp
 
-/- warning: convex_on.comp_concave_on -> ConvexOn.comp_concaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align convex_on.comp_concave_on ConvexOn.comp_concaveOnₓ'. -/
 theorem ConvexOn.comp_concaveOn (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align convex_on.comp_concave_on ConvexOn.comp_concaveOn
 
-/- warning: concave_on.comp_convex_on -> ConcaveOn.comp_convexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align concave_on.comp_convex_on ConcaveOn.comp_convexOnₓ'. -/
 theorem ConcaveOn.comp_convexOn (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align concave_on.comp_convex_on ConcaveOn.comp_convexOn
 
-/- warning: strict_convex_on.comp -> StrictConvexOn.comp is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.comp StrictConvexOn.compₓ'. -/
 theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictConvexOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -268,12 +190,6 @@ theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictCo
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) (mt (hf' hx hy) hxy) ha hb hab⟩
 #align strict_convex_on.comp StrictConvexOn.comp
 
-/- warning: strict_concave_on.comp -> StrictConcaveOn.comp is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.comp StrictConcaveOn.compₓ'. -/
 theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : StrictConcaveOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -283,24 +199,12 @@ theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : Strict
         hf.2 hx hy hxy ha hb hab⟩
 #align strict_concave_on.comp StrictConcaveOn.comp
 
-/- warning: strict_convex_on.comp_strict_concave_on -> StrictConvexOn.comp_strictConcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.comp_strict_concave_on StrictConvexOn.comp_strictConcaveOnₓ'. -/
 theorem StrictConvexOn.comp_strictConcaveOn (hg : StrictConvexOn 𝕜 (f '' s) g)
     (hf : StrictConcaveOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg' hf'
 #align strict_convex_on.comp_strict_concave_on StrictConvexOn.comp_strictConcaveOn
 
-/- warning: strict_concave_on.comp_strict_convex_on -> StrictConcaveOn.comp_strictConvexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.comp_strict_convex_on StrictConcaveOn.comp_strictConvexOnₓ'. -/
 theorem StrictConcaveOn.comp_strictConvexOn (hg : StrictConcaveOn 𝕜 (f '' s) g)
     (hf : StrictConvexOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConcaveOn 𝕜 s (g ∘ f) :=
@@ -313,12 +217,6 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
-/- warning: convex_on.add -> ConvexOn.add is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)))))) f g))
-Case conversion may be inaccurate. Consider using '#align convex_on.add ConvexOn.addₓ'. -/
 theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -328,12 +226,6 @@ theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       ⟩
 #align convex_on.add ConvexOn.add
 
-/- warning: concave_on.add -> ConcaveOn.add is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)))))) f g))
-Case conversion may be inaccurate. Consider using '#align concave_on.add ConcaveOn.addₓ'. -/
 theorem ConcaveOn.add (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
 #align concave_on.add ConcaveOn.add
@@ -344,44 +236,20 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: convex_on_const -> convexOn_const is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (fun (x : E) => c))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (fun (x : E) => c))
-Case conversion may be inaccurate. Consider using '#align convex_on_const convexOn_constₓ'. -/
 theorem convexOn_const (c : β) (hs : Convex 𝕜 s) : ConvexOn 𝕜 s fun x : E => c :=
   ⟨hs, fun x y _ _ a b _ _ hab => (Convex.combo_self hab c).ge⟩
 #align convex_on_const convexOn_const
 
-/- warning: concave_on_const -> concaveOn_const is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (fun (x : E) => c))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (fun (x : E) => c))
-Case conversion may be inaccurate. Consider using '#align concave_on_const concaveOn_constₓ'. -/
 theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun x : E => c :=
   @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
 #align concave_on_const concaveOn_const
 
-/- warning: convex_on_of_convex_epigraph -> convexOn_of_convex_epigraph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
-Case conversion may be inaccurate. Consider using '#align convex_on_of_convex_epigraph convexOn_of_convex_epigraphₓ'. -/
 theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 }) :
     ConvexOn 𝕜 s f :=
   ⟨fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).1,
     fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).2⟩
 #align convex_on_of_convex_epigraph convexOn_of_convex_epigraph
 
-/- warning: concave_on_of_convex_hypograph -> concaveOn_of_convex_hypograph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
-Case conversion may be inaccurate. Consider using '#align concave_on_of_convex_hypograph concaveOn_of_convex_hypographₓ'. -/
 theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 }) :
     ConcaveOn 𝕜 s f :=
   @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
@@ -393,12 +261,6 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: convex_on.convex_le -> ConvexOn.convex_le is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
-Case conversion may be inaccurate. Consider using '#align convex_on.convex_le ConvexOn.convex_leₓ'. -/
 theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x ≤ r }) :=
   fun x hx y hy a b ha hb hab =>
   ⟨hf.1 hx.1 hy.1 ha hb hab,
@@ -410,22 +272,10 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
 
-/- warning: concave_on.convex_ge -> ConcaveOn.convex_ge is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
-Case conversion may be inaccurate. Consider using '#align concave_on.convex_ge ConcaveOn.convex_geₓ'. -/
 theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r ≤ f x }) :=
   hf.dual.convex_le r
 #align concave_on.convex_ge ConcaveOn.convex_ge
 
-/- warning: convex_on.convex_epigraph -> ConvexOn.convex_epigraph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
-Case conversion may be inaccurate. Consider using '#align convex_on.convex_epigraph ConvexOn.convex_epigraphₓ'. -/
 theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
   by
@@ -437,34 +287,16 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
-/- warning: concave_on.convex_hypograph -> ConcaveOn.convex_hypograph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
-Case conversion may be inaccurate. Consider using '#align concave_on.convex_hypograph ConcaveOn.convex_hypographₓ'. -/
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   hf.dual.convex_epigraph
 #align concave_on.convex_hypograph ConcaveOn.convex_hypograph
 
-/- warning: convex_on_iff_convex_epigraph -> convexOn_iff_convex_epigraph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
-Case conversion may be inaccurate. Consider using '#align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraphₓ'. -/
 theorem convexOn_iff_convex_epigraph :
     ConvexOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
   ⟨ConvexOn.convex_epigraph, convexOn_of_convex_epigraph⟩
 #align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraph
 
-/- warning: concave_on_iff_convex_hypograph -> concaveOn_iff_convex_hypograph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
-Case conversion may be inaccurate. Consider using '#align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypographₓ'. -/
 theorem concaveOn_iff_convex_hypograph :
     ConcaveOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
@@ -476,12 +308,6 @@ section Module
 
 variable [Module 𝕜 E] [SMul 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: convex_on.translate_right -> ConvexOn.translate_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
-Case conversion may be inaccurate. Consider using '#align convex_on.translate_right ConvexOn.translate_rightₓ'. -/
 /-- Right translation preserves convexity. -/
 theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -493,36 +319,18 @@ theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
       ⟩
 #align convex_on.translate_right ConvexOn.translate_right
 
-/- warning: concave_on.translate_right -> ConcaveOn.translate_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
-Case conversion may be inaccurate. Consider using '#align concave_on.translate_right ConcaveOn.translate_rightₓ'. -/
 /-- Right translation preserves concavity. -/
 theorem ConcaveOn.translate_right (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align concave_on.translate_right ConcaveOn.translate_right
 
-/- warning: convex_on.translate_left -> ConvexOn.translate_left is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
-Case conversion may be inaccurate. Consider using '#align convex_on.translate_left ConvexOn.translate_leftₓ'. -/
 /-- Left translation preserves convexity. -/
 theorem ConvexOn.translate_left (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align convex_on.translate_left ConvexOn.translate_left
 
-/- warning: concave_on.translate_left -> ConcaveOn.translate_left is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
-Case conversion may be inaccurate. Consider using '#align concave_on.translate_left ConcaveOn.translate_leftₓ'. -/
 /-- Left translation preserves concavity. -/
 theorem ConcaveOn.translate_left (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) :=
@@ -535,9 +343,6 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β]
 
-/- warning: convex_on_iff_forall_pos -> convexOn_iff_forall_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on_iff_forall_pos convexOn_iff_forall_posₓ'. -/
 theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -557,9 +362,6 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
-/- warning: concave_on_iff_forall_pos -> concaveOn_iff_forall_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on_iff_forall_pos concaveOn_iff_forall_posₓ'. -/
 theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -571,9 +373,6 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
   @convexOn_iff_forall_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_forall_pos concaveOn_iff_forall_pos
 
-/- warning: convex_on_iff_pairwise_pos -> convexOn_iff_pairwise_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on_iff_pairwise_pos convexOn_iff_pairwise_posₓ'. -/
 theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -589,9 +388,6 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   exact h hx hy hxy ha hb hab
 #align convex_on_iff_pairwise_pos convexOn_iff_pairwise_pos
 
-/- warning: concave_on_iff_pairwise_pos -> concaveOn_iff_pairwise_pos is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_posₓ'. -/
 theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -600,46 +396,22 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   @convexOn_iff_pairwise_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_pos
 
-/- warning: linear_map.convex_on -> LinearMap.convexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
-Case conversion may be inaccurate. Consider using '#align linear_map.convex_on LinearMap.convexOnₓ'. -/
 /-- A linear map is convex. -/
 theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.convex_on LinearMap.convexOn
 
-/- warning: linear_map.concave_on -> LinearMap.concaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
-Case conversion may be inaccurate. Consider using '#align linear_map.concave_on LinearMap.concaveOnₓ'. -/
 /-- A linear map is concave. -/
 theorem LinearMap.concaveOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.concave_on LinearMap.concaveOn
 
-/- warning: strict_convex_on.convex_on -> StrictConvexOn.convexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.convex_on StrictConvexOn.convexOnₓ'. -/
 theorem StrictConvexOn.convexOn {s : Set E} {f : E → β} (hf : StrictConvexOn 𝕜 s f) :
     ConvexOn 𝕜 s f :=
   convexOn_iff_pairwise_pos.mpr
     ⟨hf.1, fun x hx y hy hxy a b ha hb hab => (hf.2 hx hy hxy ha hb hab).le⟩
 #align strict_convex_on.convex_on StrictConvexOn.convexOn
 
-/- warning: strict_concave_on.concave_on -> StrictConcaveOn.concaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.concave_on StrictConcaveOn.concaveOnₓ'. -/
 theorem StrictConcaveOn.concaveOn {s : Set E} {f : E → β} (hf : StrictConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s f :=
   hf.dual.ConvexOn
@@ -649,12 +421,6 @@ section OrderedSMul
 
 variable [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: strict_convex_on.convex_lt -> StrictConvexOn.convex_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.convex_lt StrictConvexOn.convex_ltₓ'. -/
 theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({ x ∈ s | f x < r }) :=
   convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
@@ -667,12 +433,6 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 
-/- warning: strict_concave_on.convex_gt -> StrictConcaveOn.convex_gt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.convex_gt StrictConcaveOn.convex_gtₓ'. -/
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
@@ -684,9 +444,6 @@ section LinearOrder
 
 variable [LinearOrder E] {s : Set E} {f : E → β}
 
-/- warning: linear_order.convex_on_of_lt -> LinearOrder.convexOn_of_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_order.convex_on_of_lt LinearOrder.convexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is convex, it suffices to
 verify the inequality `f (a • x + b • y) ≤ a • f x + b • f y` only for `x < y` and positive `a`,
@@ -709,9 +466,6 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
 
-/- warning: linear_order.concave_on_of_lt -> LinearOrder.concaveOn_of_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is concave it suffices to
 verify the inequality `a • f x + b • f y ≤ f (a • x + b • y)` for `x < y` and positive `a`, `b`. The
@@ -728,9 +482,6 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
   @LinearOrder.convexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ s f hs hf
 #align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_lt
 
-/- warning: linear_order.strict_convex_on_of_lt -> LinearOrder.strictConvexOn_of_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly convex, it suffices
 to verify the inequality `f (a • x + b • y) < a • f x + b • f y` for `x < y` and positive `a`, `b`.
@@ -752,9 +503,6 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
 
-/- warning: linear_order.strict_concave_on_of_lt -> LinearOrder.strictConcaveOn_of_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices
 to verify the inequality `a • f x + b • f y < f (a • x + b • y)` for `x < y` and positive `a`, `b`.
@@ -779,9 +527,6 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
-/- warning: convex_on.comp_linear_map -> ConvexOn.comp_linearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.comp_linear_map ConvexOn.comp_linearMapₓ'. -/
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -792,9 +537,6 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
       ⟩
 #align convex_on.comp_linear_map ConvexOn.comp_linearMap
 
-/- warning: concave_on.comp_linear_map -> ConcaveOn.comp_linearMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.comp_linear_map ConcaveOn.comp_linearMapₓ'. -/
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -813,12 +555,6 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
-/- warning: strict_convex_on.add_convex_on -> StrictConvexOn.add_convexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.add_convex_on StrictConvexOn.add_convexOnₓ'. -/
 theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -829,23 +565,11 @@ theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexO
       ⟩
 #align strict_convex_on.add_convex_on StrictConvexOn.add_convexOn
 
-/- warning: convex_on.add_strict_convex_on -> ConvexOn.add_strictConvexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align convex_on.add_strict_convex_on ConvexOn.add_strictConvexOnₓ'. -/
 theorem ConvexOn.add_strictConvexOn (hf : ConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   add_comm g f ▸ hg.add_convexOn hf
 #align convex_on.add_strict_convex_on ConvexOn.add_strictConvexOn
 
-/- warning: strict_convex_on.add -> StrictConvexOn.add is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.add StrictConvexOn.addₓ'. -/
 theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -856,34 +580,16 @@ theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
       ⟩
 #align strict_convex_on.add StrictConvexOn.add
 
-/- warning: strict_concave_on.add_concave_on -> StrictConcaveOn.add_concaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.add_concave_on StrictConcaveOn.add_concaveOnₓ'. -/
 theorem StrictConcaveOn.add_concaveOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_convexOn hg.dual
 #align strict_concave_on.add_concave_on StrictConcaveOn.add_concaveOn
 
-/- warning: concave_on.add_strict_concave_on -> ConcaveOn.add_strictConcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align concave_on.add_strict_concave_on ConcaveOn.add_strictConcaveOnₓ'. -/
 theorem ConcaveOn.add_strictConcaveOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_strictConvexOn hg.dual
 #align concave_on.add_strict_concave_on ConcaveOn.add_strictConcaveOn
 
-/- warning: strict_concave_on.add -> StrictConcaveOn.add is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.add StrictConcaveOn.addₓ'. -/
 theorem StrictConcaveOn.add (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
@@ -895,12 +601,6 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: convex_on.convex_lt -> ConvexOn.convex_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f x) r) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f x) r))))
-Case conversion may be inaccurate. Consider using '#align convex_on.convex_lt ConvexOn.convex_ltₓ'. -/
 theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x < r }) :=
   convex_iff_forall_pos.2 fun x hx y hy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
@@ -913,19 +613,10 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
         ⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
-/- warning: concave_on.convex_gt -> ConcaveOn.convex_gt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) r (f x)) s))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) r (f x)))))
-Case conversion may be inaccurate. Consider using '#align concave_on.convex_gt ConcaveOn.convex_gtₓ'. -/
 theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
 #align concave_on.convex_gt ConcaveOn.convex_gt
 
-/- warning: convex_on.open_segment_subset_strict_epigraph -> ConvexOn.openSegment_subset_strict_epigraph is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraphₓ'. -/
 theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≤ q.2) :
     openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
@@ -939,27 +630,18 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
     
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
-/- warning: concave_on.open_segment_subset_strict_hypograph -> ConcaveOn.openSegment_subset_strict_hypograph is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypographₓ'. -/
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
     openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
   hf.dual.openSegment_subset_strict_epigraph p q hp hq
 #align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypograph
 
-/- warning: convex_on.convex_strict_epigraph -> ConvexOn.convex_strict_epigraph is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraphₓ'. -/
 theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
   convex_iff_openSegment_subset.mpr fun p hp q hq =>
     hf.openSegment_subset_strict_epigraph p q hp ⟨hq.1, hq.2.le⟩
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
 
-/- warning: concave_on.convex_strict_hypograph -> ConcaveOn.convex_strict_hypograph is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypographₓ'. -/
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
   hf.dual.convex_strict_epigraph
@@ -974,12 +656,6 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid β] [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E}
   {f g : E → β}
 
-/- warning: convex_on.sup -> ConvexOn.sup is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Sup.sup.{max u2 u3} (E -> β) (Pi.hasSup.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Sup.sup.{max u2 u1} (E -> β) (Pi.instSupForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toSup.{u1} β (Lattice.toSemilatticeSup.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)))))) f g))
-Case conversion may be inaccurate. Consider using '#align convex_on.sup ConvexOn.supₓ'. -/
 /-- The pointwise maximum of convex functions is convex. -/
 theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f ⊔ g) :=
   by
@@ -998,23 +674,11 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       
 #align convex_on.sup ConvexOn.sup
 
-/- warning: concave_on.inf -> ConcaveOn.inf is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Inf.inf.{max u2 u3} (E -> β) (Pi.hasInf.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Inf.inf.{max u2 u1} (E -> β) (Pi.instInfForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => Lattice.toInf.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4))))) f g))
-Case conversion may be inaccurate. Consider using '#align concave_on.inf ConcaveOn.infₓ'. -/
 /-- The pointwise minimum of concave functions is concave. -/
 theorem ConcaveOn.inf (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align concave_on.inf ConcaveOn.inf
 
-/- warning: strict_convex_on.sup -> StrictConvexOn.sup is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Sup.sup.{max u2 u3} (E -> β) (Pi.hasSup.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Sup.sup.{max u2 u1} (E -> β) (Pi.instSupForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toSup.{u1} β (Lattice.toSemilatticeSup.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.sup StrictConvexOn.supₓ'. -/
 /-- The pointwise maximum of strictly convex functions is strictly convex. -/
 theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f ⊔ g) :=
@@ -1034,21 +698,12 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
         )⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 
-/- warning: strict_concave_on.inf -> StrictConcaveOn.inf is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Inf.inf.{max u2 u3} (E -> β) (Pi.hasInf.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Inf.inf.{max u2 u1} (E -> β) (Pi.instInfForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => Lattice.toInf.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4))))) f g))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.inf StrictConcaveOn.infₓ'. -/
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
 theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align strict_concave_on.inf StrictConcaveOn.inf
 
-/- warning: convex_on.le_on_segment' -> ConvexOn.le_on_segment' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment' ConvexOn.le_on_segment'ₓ'. -/
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s) {a b : 𝕜}
     (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : f (a • x + b • y) ≤ max (f x) (f y) :=
@@ -1061,21 +716,12 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
     
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
-/- warning: concave_on.ge_on_segment' -> ConcaveOn.ge_on_segment' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'ₓ'. -/
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : min (f x) (f y) ≤ f (a • x + b • y) :=
   hf.dual.le_on_segment' hx hy ha hb hab
 #align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'
 
-/- warning: convex_on.le_on_segment -> ConvexOn.le_on_segment is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
-Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment ConvexOn.le_on_segmentₓ'. -/
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : f z ≤ max (f x) (f y) :=
@@ -1083,21 +729,12 @@ theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈
   hz ▸ hf.le_on_segment' hx hy ha hb hab
 #align convex_on.le_on_segment ConvexOn.le_on_segment
 
-/- warning: concave_on.ge_on_segment -> ConcaveOn.ge_on_segment is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
-Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment ConcaveOn.ge_on_segmentₓ'. -/
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : min (f x) (f y) ≤ f z :=
   hf.dual.le_on_segment hx hy hz
 #align concave_on.ge_on_segment ConcaveOn.ge_on_segment
 
-/- warning: strict_convex_on.lt_on_open_segment' -> StrictConvexOn.lt_on_open_segment' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -1112,9 +749,6 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
     
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
-/- warning: strict_concave_on.lt_on_open_segment' -> StrictConcaveOn.lt_on_open_segment' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -1123,12 +757,6 @@ theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y
   hf.dual.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'
 
-/- warning: strict_convex_on.lt_on_open_segment -> StrictConvexOn.lt_on_openSegment is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegmentₓ'. -/
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -1137,12 +765,6 @@ theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z :
   hz ▸ hf.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegment
 
-/- warning: strict_concave_on.lt_on_open_segment -> StrictConcaveOn.lt_on_openSegment is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment StrictConcaveOn.lt_on_openSegmentₓ'. -/
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_openSegment (hf : StrictConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -1160,9 +782,6 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
-/- warning: convex_on.le_left_of_right_le' -> ConvexOn.le_left_of_right_le' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'ₓ'. -/
 theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f y ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f x :=
@@ -1176,18 +795,12 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
-/- warning: concave_on.left_le_of_le_right' -> ConcaveOn.left_le_of_le_right' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f (a • x + b • y) ≤ f y) :
     f x ≤ f (a • x + b • y) :=
   hf.dual.le_left_of_right_le' hx hy ha hb hab hfy
 #align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'
 
-/- warning: convex_on.le_right_of_left_le' -> ConvexOn.le_right_of_left_le' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'ₓ'. -/
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f y := by
@@ -1195,21 +808,12 @@ theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
-/- warning: concave_on.right_le_of_le_left' -> ConcaveOn.right_le_of_le_left' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) ≤ f x) :
     f y ≤ f (a • x + b • y) :=
   hf.dual.le_right_of_left_le' hx hy ha hb hab hfx
 #align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'
 
-/- warning: convex_on.le_left_of_right_le -> ConvexOn.le_left_of_right_le is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
-Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_leₓ'. -/
 theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y ≤ f z) : f z ≤ f x :=
   by
@@ -1217,23 +821,11 @@ theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_left_of_right_le' hx hy ha hb.le hab hyz
 #align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_le
 
-/- warning: concave_on.left_le_of_le_right -> ConcaveOn.left_le_of_le_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
-Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_rightₓ'. -/
 theorem ConcaveOn.left_le_of_le_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z ≤ f y) : f x ≤ f z :=
   hf.dual.le_left_of_right_le hx hy hz hyz
 #align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_right
 
-/- warning: convex_on.le_right_of_left_le -> ConvexOn.le_right_of_left_le is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
-Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_leₓ'. -/
 theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x ≤ f z) : f z ≤ f y :=
   by
@@ -1241,12 +833,6 @@ theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_right_of_left_le' hx hy ha.le hb hab hxz
 #align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_le
 
-/- warning: concave_on.right_le_of_le_left -> ConcaveOn.right_le_of_le_left is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
-Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left ConcaveOn.right_le_of_le_leftₓ'. -/
 theorem ConcaveOn.right_le_of_le_left (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z ≤ f x) : f y ≤ f z :=
   hf.dual.le_right_of_left_le hx hy hz hxz
@@ -1258,9 +844,6 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
-/- warning: convex_on.lt_left_of_right_lt' -> ConvexOn.lt_left_of_right_lt' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'ₓ'. -/
 /- The following lemmas don't require `module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
 the writing, we decided the resulting lemmas wouldn't be useful. Feel free to reintroduce them. -/
 theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -1276,18 +859,12 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
-/- warning: concave_on.left_lt_of_lt_right' -> ConcaveOn.left_lt_of_lt_right' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'ₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a • x + b • y) < f y) :
     f x < f (a • x + b • y) :=
   hf.dual.lt_left_of_right_lt' hx hy ha hb hab hfy
 #align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'
 
-/- warning: convex_on.lt_right_of_left_lt' -> ConvexOn.lt_right_of_left_lt' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
     f (a • x + b • y) < f y := by
@@ -1295,18 +872,12 @@ theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
-/- warning: concave_on.lt_right_of_left_lt' -> ConcaveOn.lt_right_of_left_lt' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) < f x) :
     f y < f (a • x + b • y) :=
   hf.dual.lt_right_of_left_lt' hx hy ha hb hab hfx
 #align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'
 
-/- warning: convex_on.lt_left_of_right_lt -> ConvexOn.lt_left_of_right_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_ltₓ'. -/
 theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y < f z) : f z < f x :=
   by
@@ -1314,17 +885,11 @@ theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_left_of_right_lt' hx hy ha hb hab hyz
 #align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_lt
 
-/- warning: concave_on.left_lt_of_lt_right -> ConcaveOn.left_lt_of_lt_right is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_rightₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z < f y) : f x < f z :=
   hf.dual.lt_left_of_right_lt hx hy hz hyz
 #align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_right
 
-/- warning: convex_on.lt_right_of_left_lt -> ConvexOn.lt_right_of_left_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_ltₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x < f z) : f z < f y :=
   by
@@ -1332,9 +897,6 @@ theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_right_of_left_lt' hx hy ha hb hab hxz
 #align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_lt
 
-/- warning: concave_on.lt_right_of_left_lt -> ConcaveOn.lt_right_of_left_lt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt ConcaveOn.lt_right_of_left_ltₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z < f x) : f y < f z :=
   hf.dual.lt_right_of_left_lt hx hy hz hxz
@@ -1348,12 +910,6 @@ section OrderedAddCommGroup
 
 variable [OrderedAddCommGroup β] [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f g : E → β}
 
-/- warning: neg_convex_on_iff -> neg_convexOn_iff is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
-Case conversion may be inaccurate. Consider using '#align neg_convex_on_iff neg_convexOn_iffₓ'. -/
 /-- A function `-f` is convex iff `f` is concave. -/
 @[simp]
 theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
@@ -1370,24 +926,12 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
     exact h hx hy ha hb hab
 #align neg_convex_on_iff neg_convexOn_iff
 
-/- warning: neg_concave_on_iff -> neg_concaveOn_iff is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
-Case conversion may be inaccurate. Consider using '#align neg_concave_on_iff neg_concaveOn_iffₓ'. -/
 /-- A function `-f` is concave iff `f` is convex. -/
 @[simp]
 theorem neg_concaveOn_iff : ConcaveOn 𝕜 s (-f) ↔ ConvexOn 𝕜 s f := by
   rw [← neg_convexOn_iff, neg_neg f]
 #align neg_concave_on_iff neg_concaveOn_iff
 
-/- warning: neg_strict_convex_on_iff -> neg_strictConvexOn_iff is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
-Case conversion may be inaccurate. Consider using '#align neg_strict_convex_on_iff neg_strictConvexOn_iffₓ'. -/
 /-- A function `-f` is strictly convex iff `f` is strictly concave. -/
 @[simp]
 theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn 𝕜 s f :=
@@ -1404,111 +948,57 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
     exact h hx hy hxy ha hb hab
 #align neg_strict_convex_on_iff neg_strictConvexOn_iff
 
-/- warning: neg_strict_concave_on_iff -> neg_strictConcaveOn_iff is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
-Case conversion may be inaccurate. Consider using '#align neg_strict_concave_on_iff neg_strictConcaveOn_iffₓ'. -/
 /-- A function `-f` is strictly concave iff `f` is strictly convex. -/
 @[simp]
 theorem neg_strictConcaveOn_iff : StrictConcaveOn 𝕜 s (-f) ↔ StrictConvexOn 𝕜 s f := by
   rw [← neg_strictConvexOn_iff, neg_neg f]
 #align neg_strict_concave_on_iff neg_strictConcaveOn_iff
 
-/- warning: concave_on.neg -> ConcaveOn.neg is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
-Case conversion may be inaccurate. Consider using '#align concave_on.neg ConcaveOn.negₓ'. -/
 alias neg_convexOn_iff ↔ _ ConcaveOn.neg
 #align concave_on.neg ConcaveOn.neg
 
-/- warning: convex_on.neg -> ConvexOn.neg is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
-Case conversion may be inaccurate. Consider using '#align convex_on.neg ConvexOn.negₓ'. -/
 alias neg_concaveOn_iff ↔ _ ConvexOn.neg
 #align convex_on.neg ConvexOn.neg
 
-/- warning: strict_concave_on.neg -> StrictConcaveOn.neg is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.neg StrictConcaveOn.negₓ'. -/
 alias neg_strictConvexOn_iff ↔ _ StrictConcaveOn.neg
 #align strict_concave_on.neg StrictConcaveOn.neg
 
-/- warning: strict_convex_on.neg -> StrictConvexOn.neg is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.neg StrictConvexOn.negₓ'. -/
 alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
 #align strict_convex_on.neg StrictConvexOn.neg
 
-/- warning: convex_on.sub -> ConvexOn.sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.sub ConvexOn.subₓ'. -/
 theorem ConvexOn.sub (hf : ConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align convex_on.sub ConvexOn.sub
 
-/- warning: concave_on.sub -> ConcaveOn.sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.sub ConcaveOn.subₓ'. -/
 theorem ConcaveOn.sub (hf : ConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align concave_on.sub ConcaveOn.sub
 
-/- warning: strict_convex_on.sub -> StrictConvexOn.sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub StrictConvexOn.subₓ'. -/
 theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_convex_on.sub StrictConvexOn.sub
 
-/- warning: strict_concave_on.sub -> StrictConcaveOn.sub is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub StrictConcaveOn.subₓ'. -/
 theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_concave_on.sub StrictConcaveOn.sub
 
-/- warning: convex_on.sub_strict_concave_on -> ConvexOn.sub_strictConcaveOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOnₓ'. -/
 theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConvexOn hg.neg
 #align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOn
 
-/- warning: concave_on.sub_strict_convex_on -> ConcaveOn.sub_strictConvexOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOnₓ'. -/
 theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConcaveOn hg.neg
 #align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOn
 
-/- warning: strict_convex_on.sub_concave_on -> StrictConvexOn.sub_concaveOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOnₓ'. -/
 theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_convexOn hg.neg
 #align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOn
 
-/- warning: strict_concave_on.sub_convex_on -> StrictConcaveOn.sub_convexOn is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub_convex_on StrictConcaveOn.sub_convexOnₓ'. -/
 theorem StrictConcaveOn.sub_convexOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_concaveOn hg.neg
@@ -1523,12 +1013,6 @@ section AddCancelCommMonoid
 variable [AddCancelCommMonoid E] [OrderedAddCommMonoid β] [Module 𝕜 E] [SMul 𝕜 β] {s : Set E}
   {f : E → β}
 
-/- warning: strict_convex_on.translate_right -> StrictConvexOn.translate_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.translate_right StrictConvexOn.translate_rightₓ'. -/
 /-- Right translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -1540,36 +1024,18 @@ theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
       ⟩
 #align strict_convex_on.translate_right StrictConvexOn.translate_right
 
-/- warning: strict_concave_on.translate_right -> StrictConcaveOn.translate_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.translate_right StrictConcaveOn.translate_rightₓ'. -/
 /-- Right translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_right (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align strict_concave_on.translate_right StrictConcaveOn.translate_right
 
-/- warning: strict_convex_on.translate_left -> StrictConvexOn.translate_left is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
-Case conversion may be inaccurate. Consider using '#align strict_convex_on.translate_left StrictConvexOn.translate_leftₓ'. -/
 /-- Left translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_left (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align strict_convex_on.translate_left StrictConvexOn.translate_left
 
-/- warning: strict_concave_on.translate_left -> StrictConcaveOn.translate_left is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
-Case conversion may be inaccurate. Consider using '#align strict_concave_on.translate_left StrictConcaveOn.translate_leftₓ'. -/
 /-- Left translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_left (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
@@ -1592,12 +1058,6 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
-/- warning: convex_on.smul -> ConvexOn.smul is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
-Case conversion may be inaccurate. Consider using '#align convex_on.smul ConvexOn.smulₓ'. -/
 theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : ConvexOn 𝕜 s fun x => c • f x :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -1607,12 +1067,6 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
       ⟩
 #align convex_on.smul ConvexOn.smul
 
-/- warning: concave_on.smul -> ConcaveOn.smul is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
-Case conversion may be inaccurate. Consider using '#align concave_on.smul ConcaveOn.smulₓ'. -/
 theorem ConcaveOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s fun x => c • f x :=
   hf.dual.smul hc
@@ -1636,9 +1090,6 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
-/- warning: convex_on.comp_affine_map -> ConvexOn.comp_affineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.comp_affine_map ConvexOn.comp_affineMapₓ'. -/
 /-- If a function is convex on `s`, it remains convex when precomposed by an affine map. -/
 theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConvexOn 𝕜 s f) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -1650,9 +1101,6 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
       ⟩
 #align convex_on.comp_affine_map ConvexOn.comp_affineMap
 
-/- warning: concave_on.comp_affine_map -> ConcaveOn.comp_affineMap is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.comp_affine_map ConcaveOn.comp_affineMapₓ'. -/
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
 theorem ConcaveOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -1677,9 +1125,6 @@ section SMul
 
 variable [SMul 𝕜 E] [SMul 𝕜 β] {s : Set E}
 
-/- warning: convex_on_iff_div -> convexOn_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on_iff_div convexOn_iff_divₓ'. -/
 theorem convexOn_iff_div {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1703,9 +1148,6 @@ theorem convexOn_iff_div {f : E → β} :
       simpa [hab, zero_lt_one] using h hx hy ha hb⟩
 #align convex_on_iff_div convexOn_iff_div
 
-/- warning: concave_on_iff_div -> concaveOn_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on_iff_div concaveOn_iff_divₓ'. -/
 theorem concaveOn_iff_div {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1722,9 +1164,6 @@ theorem concaveOn_iff_div {f : E → β} :
   @convexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_div concaveOn_iff_div
 
-/- warning: strict_convex_on_iff_div -> strictConvexOn_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_convex_on_iff_div strictConvexOn_iff_divₓ'. -/
 theorem strictConvexOn_iff_div {f : E → β} :
     StrictConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1749,9 +1188,6 @@ theorem strictConvexOn_iff_div {f : E → β} :
       simpa [hab, zero_lt_one] using h hx hy hxy ha hb⟩
 #align strict_convex_on_iff_div strictConvexOn_iff_div
 
-/- warning: strict_concave_on_iff_div -> strictConcaveOn_iff_div is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align strict_concave_on_iff_div strictConcaveOn_iff_divₓ'. -/
 theorem strictConcaveOn_iff_div {f : E → β} :
     StrictConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1779,35 +1215,23 @@ section
 variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
   {x y z : 𝕜} {s : Set 𝕜} {f : 𝕜 → β}
 
-/- warning: convex_on.le_right_of_left_le'' -> ConvexOn.le_right_of_left_le'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''ₓ'. -/
 theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y)
     (hyz : y ≤ z) (h : f x ≤ f y) : f y ≤ f z :=
   hyz.eq_or_lt.elim (fun hyz => (congr_arg f hyz).le) fun hyz =>
     hf.le_right_of_left_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''
 
-/- warning: convex_on.le_left_of_right_le'' -> ConvexOn.le_left_of_right_le'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''ₓ'. -/
 theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≤ y)
     (hyz : y < z) (h : f z ≤ f y) : f y ≤ f x :=
   hxy.eq_or_lt.elim (fun hxy => (congr_arg f hxy).ge) fun hxy =>
     hf.le_left_of_right_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''
 
-/- warning: concave_on.right_le_of_le_left'' -> ConcaveOn.right_le_of_le_left'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x < y) (hyz : y ≤ z) (h : f y ≤ f x) : f z ≤ f y :=
   hf.dual.le_right_of_left_le'' hx hz hxy hyz h
 #align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''
 
-/- warning: concave_on.left_le_of_le_right'' -> ConcaveOn.left_le_of_le_right'' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x ≤ y) (hyz : y < z) (h : f y ≤ f z) : f x ≤ f y :=
   hf.dual.le_left_of_right_le'' hx hz hxy hyz h
Diff
@@ -147,17 +147,13 @@ theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 
 
 #print convexOn_id /-
 theorem convexOn_id {s : Set β} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s id :=
-  ⟨hs, by
-    intros
-    rfl⟩
+  ⟨hs, by intros ; rfl⟩
 #align convex_on_id convexOn_id
 -/
 
 #print concaveOn_id /-
 theorem concaveOn_id {s : Set β} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s id :=
-  ⟨hs, by
-    intros
-    rfl⟩
+  ⟨hs, by intros ; rfl⟩
 #align concave_on_id concaveOn_id
 -/
 
@@ -555,13 +551,9 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     and_congr_right'
       ⟨fun h x hx y hy a b ha hb hab => h hx hy ha.le hb.le hab, fun h x hx y hy a b ha hb hab => _⟩
   obtain rfl | ha' := ha.eq_or_lt
-  · rw [zero_add] at hab
-    subst b
-    simp_rw [zero_smul, zero_add, one_smul]
+  · rw [zero_add] at hab; subst b; simp_rw [zero_smul, zero_add, one_smul]
   obtain rfl | hb' := hb.eq_or_lt
-  · rw [add_zero] at hab
-    subst a
-    simp_rw [zero_smul, add_zero, one_smul]
+  · rw [add_zero] at hab; subst a; simp_rw [zero_smul, add_zero, one_smul]
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
@@ -712,8 +704,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' convexOn_iff_pairwise_pos.2 ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]
-    rw [add_comm] at hab
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
@@ -756,8 +747,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   by
   refine' ⟨hs, fun x hx y hy hxy a b ha hb hab => _⟩
   wlog h : x < y
-  · rw [add_comm (a • x), add_comm (a • f x)]
-    rw [add_comm] at hab
+  · rw [add_comm (a • x), add_comm (a • f x)]; rw [add_comm] at hab
     refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
Diff
@@ -540,10 +540,7 @@ section Module
 variable [Module 𝕜 E] [Module 𝕜 β]
 
 /- warning: convex_on_iff_forall_pos -> convexOn_iff_forall_pos is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_forall_pos convexOn_iff_forall_posₓ'. -/
 theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
@@ -569,10 +566,7 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
 /- warning: concave_on_iff_forall_pos -> concaveOn_iff_forall_pos is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_forall_pos concaveOn_iff_forall_posₓ'. -/
 theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
@@ -586,10 +580,7 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
 #align concave_on_iff_forall_pos concaveOn_iff_forall_pos
 
 /- warning: convex_on_iff_pairwise_pos -> convexOn_iff_pairwise_pos is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y)))))))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_pairwise_pos convexOn_iff_pairwise_posₓ'. -/
 theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
@@ -607,10 +598,7 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
 #align convex_on_iff_pairwise_pos convexOn_iff_pairwise_pos
 
 /- warning: concave_on_iff_pairwise_pos -> concaveOn_iff_pairwise_pos is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y)))))))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_posₓ'. -/
 theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
@@ -705,10 +693,7 @@ section LinearOrder
 variable [LinearOrder E] {s : Set E} {f : E → β}
 
 /- warning: linear_order.convex_on_of_lt -> LinearOrder.convexOn_of_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_order.convex_on_of_lt LinearOrder.convexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is convex, it suffices to
@@ -734,10 +719,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
 
 /- warning: linear_order.concave_on_of_lt -> LinearOrder.concaveOn_of_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is concave it suffices to
@@ -756,10 +738,7 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
 #align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_lt
 
 /- warning: linear_order.strict_convex_on_of_lt -> LinearOrder.strictConvexOn_of_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly convex, it suffices
@@ -784,10 +763,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
 
 /- warning: linear_order.strict_concave_on_of_lt -> LinearOrder.strictConcaveOn_of_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+<too large>
 Case conversion may be inaccurate. Consider using '#align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices
@@ -814,10 +790,7 @@ section Module
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
 /- warning: convex_on.comp_linear_map -> ConvexOn.comp_linearMap is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.comp_linear_map ConvexOn.comp_linearMapₓ'. -/
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
@@ -830,10 +803,7 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
 #align convex_on.comp_linear_map ConvexOn.comp_linearMap
 
 /- warning: concave_on.comp_linear_map -> ConcaveOn.comp_linearMap is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.comp_linear_map ConcaveOn.comp_linearMapₓ'. -/
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
@@ -964,10 +934,7 @@ theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({
 #align concave_on.convex_gt ConcaveOn.convex_gt
 
 /- warning: convex_on.open_segment_subset_strict_epigraph -> ConvexOn.openSegment_subset_strict_epigraph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β q)) (Prod.snd.{u2, u3} E β q))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β q)) (Prod.snd.{u2, u1} E β q))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraphₓ'. -/
 theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≤ q.2) :
@@ -983,10 +950,7 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
 /- warning: concave_on.open_segment_subset_strict_hypograph -> ConcaveOn.openSegment_subset_strict_hypograph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β q) (f (Prod.fst.{u2, u3} E β q)))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β q) (f (Prod.fst.{u2, u1} E β q)))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypographₓ'. -/
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
@@ -995,10 +959,7 @@ theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f)
 #align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypograph
 
 /- warning: convex_on.convex_strict_epigraph -> ConvexOn.convex_strict_epigraph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraphₓ'. -/
 theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
@@ -1007,10 +968,7 @@ theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
 
 /- warning: concave_on.convex_strict_hypograph -> ConcaveOn.convex_strict_hypograph is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypographₓ'. -/
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
@@ -1099,10 +1057,7 @@ theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveO
 #align strict_concave_on.inf StrictConcaveOn.inf
 
 /- warning: convex_on.le_on_segment' -> ConvexOn.le_on_segment' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment' ConvexOn.le_on_segment'ₓ'. -/
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s) {a b : 𝕜}
@@ -1117,10 +1072,7 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
 /- warning: concave_on.ge_on_segment' -> ConcaveOn.ge_on_segment' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'ₓ'. -/
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -1154,10 +1106,7 @@ theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x 
 #align concave_on.ge_on_segment ConcaveOn.ge_on_segment
 
 /- warning: strict_convex_on.lt_on_open_segment' -> StrictConvexOn.lt_on_open_segment' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
@@ -1174,10 +1123,7 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
 /- warning: strict_concave_on.lt_on_open_segment' -> StrictConcaveOn.lt_on_open_segment' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
@@ -1225,10 +1171,7 @@ section OrderedSMul
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
 /- warning: convex_on.le_left_of_right_le' -> ConvexOn.le_left_of_right_le' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'ₓ'. -/
 theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f y ≤ f (a • x + b • y)) :
@@ -1244,10 +1187,7 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
 /- warning: concave_on.left_le_of_le_right' -> ConcaveOn.left_le_of_le_right' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f (a • x + b • y) ≤ f y) :
@@ -1256,10 +1196,7 @@ theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 #align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'
 
 /- warning: convex_on.le_right_of_left_le' -> ConvexOn.le_right_of_left_le' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'ₓ'. -/
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
@@ -1269,10 +1206,7 @@ theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
 /- warning: concave_on.right_le_of_le_left' -> ConcaveOn.right_le_of_le_left' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) ≤ f x) :
@@ -1335,10 +1269,7 @@ section Module
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
 /- warning: convex_on.lt_left_of_right_lt' -> ConvexOn.lt_left_of_right_lt' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'ₓ'. -/
 /- The following lemmas don't require `module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
 the writing, we decided the resulting lemmas wouldn't be useful. Feel free to reintroduce them. -/
@@ -1356,10 +1287,7 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
 /- warning: concave_on.left_lt_of_lt_right' -> ConcaveOn.left_lt_of_lt_right' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'ₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a • x + b • y) < f y) :
@@ -1368,10 +1296,7 @@ theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 #align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'
 
 /- warning: convex_on.lt_right_of_left_lt' -> ConvexOn.lt_right_of_left_lt' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
@@ -1381,10 +1306,7 @@ theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
 /- warning: concave_on.lt_right_of_left_lt' -> ConcaveOn.lt_right_of_left_lt' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) < f x) :
@@ -1393,10 +1315,7 @@ theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b
 #align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'
 
 /- warning: convex_on.lt_left_of_right_lt -> ConvexOn.lt_left_of_right_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_ltₓ'. -/
 theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y < f z) : f z < f x :=
@@ -1406,10 +1325,7 @@ theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 #align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_lt
 
 /- warning: concave_on.left_lt_of_lt_right -> ConcaveOn.left_lt_of_lt_right is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_rightₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z < f y) : f x < f z :=
@@ -1417,10 +1333,7 @@ theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx
 #align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_right
 
 /- warning: convex_on.lt_right_of_left_lt -> ConvexOn.lt_right_of_left_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_ltₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x < f z) : f z < f y :=
@@ -1430,10 +1343,7 @@ theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 #align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_lt
 
 /- warning: concave_on.lt_right_of_left_lt -> ConcaveOn.lt_right_of_left_lt is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt ConcaveOn.lt_right_of_left_ltₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z < f x) : f y < f z :=
@@ -1553,30 +1463,21 @@ alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
 #align strict_convex_on.neg StrictConvexOn.neg
 
 /- warning: convex_on.sub -> ConvexOn.sub is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.sub ConvexOn.subₓ'. -/
 theorem ConvexOn.sub (hf : ConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align convex_on.sub ConvexOn.sub
 
 /- warning: concave_on.sub -> ConcaveOn.sub is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.sub ConcaveOn.subₓ'. -/
 theorem ConcaveOn.sub (hf : ConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align concave_on.sub ConcaveOn.sub
 
 /- warning: strict_convex_on.sub -> StrictConvexOn.sub is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub StrictConvexOn.subₓ'. -/
 theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
@@ -1584,10 +1485,7 @@ theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn
 #align strict_convex_on.sub StrictConvexOn.sub
 
 /- warning: strict_concave_on.sub -> StrictConcaveOn.sub is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub StrictConcaveOn.subₓ'. -/
 theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
@@ -1595,10 +1493,7 @@ theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn
 #align strict_concave_on.sub StrictConcaveOn.sub
 
 /- warning: convex_on.sub_strict_concave_on -> ConvexOn.sub_strictConcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOnₓ'. -/
 theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
@@ -1606,10 +1501,7 @@ theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcav
 #align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOn
 
 /- warning: concave_on.sub_strict_convex_on -> ConcaveOn.sub_strictConvexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOnₓ'. -/
 theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
@@ -1617,10 +1509,7 @@ theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConve
 #align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOn
 
 /- warning: strict_convex_on.sub_concave_on -> StrictConvexOn.sub_concaveOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOnₓ'. -/
 theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
@@ -1628,10 +1517,7 @@ theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : Concav
 #align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOn
 
 /- warning: strict_concave_on.sub_convex_on -> StrictConcaveOn.sub_convexOn is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub_convex_on StrictConcaveOn.sub_convexOnₓ'. -/
 theorem StrictConcaveOn.sub_convexOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
@@ -1761,10 +1647,7 @@ section Module
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
 /- warning: convex_on.comp_affine_map -> ConvexOn.comp_affineMap is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConvexOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.comp_affine_map ConvexOn.comp_affineMapₓ'. -/
 /-- If a function is convex on `s`, it remains convex when precomposed by an affine map. -/
 theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConvexOn 𝕜 s f) :
@@ -1778,10 +1661,7 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
 #align convex_on.comp_affine_map ConvexOn.comp_affineMap
 
 /- warning: concave_on.comp_affine_map -> ConcaveOn.comp_affineMap is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
-but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConcaveOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.comp_affine_map ConcaveOn.comp_affineMapₓ'. -/
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
 theorem ConcaveOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConcaveOn 𝕜 s f) :
@@ -1808,10 +1688,7 @@ section SMul
 variable [SMul 𝕜 E] [SMul 𝕜 β] {s : Set E}
 
 /- warning: convex_on_iff_div -> convexOn_iff_div is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_div convexOn_iff_divₓ'. -/
 theorem convexOn_iff_div {f : E → β} :
     ConvexOn 𝕜 s f ↔
@@ -1837,10 +1714,7 @@ theorem convexOn_iff_div {f : E → β} :
 #align convex_on_iff_div convexOn_iff_div
 
 /- warning: concave_on_iff_div -> concaveOn_iff_div is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_div concaveOn_iff_divₓ'. -/
 theorem concaveOn_iff_div {f : E → β} :
     ConcaveOn 𝕜 s f ↔
@@ -1859,10 +1733,7 @@ theorem concaveOn_iff_div {f : E → β} :
 #align concave_on_iff_div concaveOn_iff_div
 
 /- warning: strict_convex_on_iff_div -> strictConvexOn_iff_div is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_convex_on_iff_div strictConvexOn_iff_divₓ'. -/
 theorem strictConvexOn_iff_div {f : E → β} :
     StrictConvexOn 𝕜 s f ↔
@@ -1889,10 +1760,7 @@ theorem strictConvexOn_iff_div {f : E → β} :
 #align strict_convex_on_iff_div strictConvexOn_iff_div
 
 /- warning: strict_concave_on_iff_div -> strictConcaveOn_iff_div is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
-but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align strict_concave_on_iff_div strictConcaveOn_iff_divₓ'. -/
 theorem strictConcaveOn_iff_div {f : E → β} :
     StrictConcaveOn 𝕜 s f ↔
@@ -1922,10 +1790,7 @@ variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module
   {x y z : 𝕜} {s : Set 𝕜} {f : 𝕜 → β}
 
 /- warning: convex_on.le_right_of_left_le'' -> ConvexOn.le_right_of_left_le'' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''ₓ'. -/
 theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y)
     (hyz : y ≤ z) (h : f x ≤ f y) : f y ≤ f z :=
@@ -1934,10 +1799,7 @@ theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (
 #align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''
 
 /- warning: convex_on.le_left_of_right_le'' -> ConvexOn.le_left_of_right_le'' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''ₓ'. -/
 theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≤ y)
     (hyz : y < z) (h : f z ≤ f y) : f y ≤ f x :=
@@ -1946,10 +1808,7 @@ theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (
 #align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''
 
 /- warning: concave_on.right_le_of_le_left'' -> ConcaveOn.right_le_of_le_left'' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x < y) (hyz : y ≤ z) (h : f y ≤ f x) : f z ≤ f y :=
@@ -1957,10 +1816,7 @@ theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s)
 #align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''
 
 /- warning: concave_on.left_le_of_le_right'' -> ConcaveOn.left_le_of_le_right'' is a dubious translation:
-lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y))
-but is expected to have type
-  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x ≤ y) (hyz : y < z) (h : f y ≤ f z) : f x ≤ f y :=
Diff
@@ -624,7 +624,7 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.convex_on LinearMap.convexOnₓ'. -/
 /-- A linear map is convex. -/
 theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s f :=
@@ -635,7 +635,7 @@ theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.concave_on LinearMap.concaveOnₓ'. -/
 /-- A linear map is concave. -/
 theorem LinearMap.concaveOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s f :=
@@ -817,7 +817,7 @@ variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
 Case conversion may be inaccurate. Consider using '#align convex_on.comp_linear_map ConvexOn.comp_linearMapₓ'. -/
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
@@ -833,7 +833,7 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
 Case conversion may be inaccurate. Consider using '#align concave_on.comp_linear_map ConcaveOn.comp_linearMapₓ'. -/
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
Diff
@@ -109,7 +109,7 @@ open OrderDual (toDual ofDual)
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
 Case conversion may be inaccurate. Consider using '#align convex_on.dual ConvexOn.dualₓ'. -/
 theorem ConvexOn.dual (hf : ConvexOn 𝕜 s f) : ConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
@@ -119,7 +119,7 @@ theorem ConvexOn.dual (hf : ConvexOn 𝕜 s f) : ConcaveOn 𝕜 s (toDual ∘ f)
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
 Case conversion may be inaccurate. Consider using '#align concave_on.dual ConcaveOn.dualₓ'. -/
 theorem ConcaveOn.dual (hf : ConcaveOn 𝕜 s f) : ConvexOn 𝕜 s (toDual ∘ f) :=
   hf
@@ -129,7 +129,7 @@ theorem ConcaveOn.dual (hf : ConcaveOn 𝕜 s f) : ConvexOn 𝕜 s (toDual ∘ f
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.dual StrictConvexOn.dualₓ'. -/
 theorem StrictConvexOn.dual (hf : StrictConvexOn 𝕜 s f) : StrictConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
@@ -139,7 +139,7 @@ theorem StrictConvexOn.dual (hf : StrictConvexOn 𝕜 s f) : StrictConcaveOn 
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.dual StrictConcaveOn.dualₓ'. -/
 theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 𝕜 s (toDual ∘ f) :=
   hf
Diff
@@ -624,7 +624,7 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.convex_on LinearMap.convexOnₓ'. -/
 /-- A linear map is convex. -/
 theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s f :=
@@ -635,7 +635,7 @@ theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
 Case conversion may be inaccurate. Consider using '#align linear_map.concave_on LinearMap.concaveOnₓ'. -/
 /-- A linear map is concave. -/
 theorem LinearMap.concaveOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s f :=
@@ -817,7 +817,7 @@ variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
 Case conversion may be inaccurate. Consider using '#align convex_on.comp_linear_map ConvexOn.comp_linearMapₓ'. -/
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
@@ -833,7 +833,7 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
 Case conversion may be inaccurate. Consider using '#align concave_on.comp_linear_map ConcaveOn.comp_linearMapₓ'. -/
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
Diff
@@ -1764,7 +1764,7 @@ variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConvexOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConvexOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
 Case conversion may be inaccurate. Consider using '#align convex_on.comp_affine_map ConvexOn.comp_affineMapₓ'. -/
 /-- If a function is convex on `s`, it remains convex when precomposed by an affine map. -/
 theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConvexOn 𝕜 s f) :
@@ -1781,7 +1781,7 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
 lean 3 declaration is
   forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
 but is expected to have type
-  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConcaveOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConcaveOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1003 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
 Case conversion may be inaccurate. Consider using '#align concave_on.comp_affine_map ConcaveOn.comp_affineMapₓ'. -/
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
 theorem ConcaveOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConcaveOn 𝕜 s f) :
Diff
@@ -370,7 +370,7 @@ theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun x :
 
 /- warning: convex_on_of_convex_epigraph -> convexOn_of_convex_epigraph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align convex_on_of_convex_epigraph convexOn_of_convex_epigraphₓ'. -/
@@ -382,7 +382,7 @@ theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s 
 
 /- warning: concave_on_of_convex_hypograph -> concaveOn_of_convex_hypograph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align concave_on_of_convex_hypograph concaveOn_of_convex_hypographₓ'. -/
@@ -399,7 +399,7 @@ variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E
 
 /- warning: convex_on.convex_le -> ConvexOn.convex_le is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
 Case conversion may be inaccurate. Consider using '#align convex_on.convex_le ConvexOn.convex_leₓ'. -/
@@ -416,7 +416,7 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
 
 /- warning: concave_on.convex_ge -> ConcaveOn.convex_ge is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.convex_ge ConcaveOn.convex_geₓ'. -/
@@ -426,7 +426,7 @@ theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({
 
 /- warning: convex_on.convex_epigraph -> ConvexOn.convex_epigraph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.convex_epigraph ConvexOn.convex_epigraphₓ'. -/
@@ -443,7 +443,7 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
 
 /- warning: concave_on.convex_hypograph -> ConcaveOn.convex_hypograph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.convex_hypograph ConcaveOn.convex_hypographₓ'. -/
@@ -454,7 +454,7 @@ theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
 
 /- warning: convex_on_iff_convex_epigraph -> convexOn_iff_convex_epigraph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraphₓ'. -/
@@ -465,7 +465,7 @@ theorem convexOn_iff_convex_epigraph :
 
 /- warning: concave_on_iff_convex_hypograph -> concaveOn_iff_convex_hypograph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypographₓ'. -/
@@ -541,7 +541,7 @@ variable [Module 𝕜 E] [Module 𝕜 β]
 
 /- warning: convex_on_iff_forall_pos -> convexOn_iff_forall_pos is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))))
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_forall_pos convexOn_iff_forall_posₓ'. -/
@@ -570,7 +570,7 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
 
 /- warning: concave_on_iff_forall_pos -> concaveOn_iff_forall_pos is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))))
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_forall_pos concaveOn_iff_forall_posₓ'. -/
@@ -587,7 +587,7 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
 
 /- warning: convex_on_iff_pairwise_pos -> convexOn_iff_pairwise_pos is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y)))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y)))))))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y)))))))
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_pairwise_pos convexOn_iff_pairwise_posₓ'. -/
@@ -608,7 +608,7 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
 
 /- warning: concave_on_iff_pairwise_pos -> concaveOn_iff_pairwise_pos is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y)))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y)))))))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y)))))))
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_posₓ'. -/
@@ -671,7 +671,7 @@ variable [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
 /- warning: strict_convex_on.convex_lt -> StrictConvexOn.convex_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.convex_lt StrictConvexOn.convex_ltₓ'. -/
@@ -689,7 +689,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
 
 /- warning: strict_concave_on.convex_gt -> StrictConcaveOn.convex_gt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.convex_gt StrictConcaveOn.convex_gtₓ'. -/
@@ -706,7 +706,7 @@ variable [LinearOrder E] {s : Set E} {f : E → β}
 
 /- warning: linear_order.convex_on_of_lt -> LinearOrder.convexOn_of_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align linear_order.convex_on_of_lt LinearOrder.convexOn_of_ltₓ'. -/
@@ -735,7 +735,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
 
 /- warning: linear_order.concave_on_of_lt -> LinearOrder.concaveOn_of_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_ltₓ'. -/
@@ -757,7 +757,7 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
 
 /- warning: linear_order.strict_convex_on_of_lt -> LinearOrder.strictConvexOn_of_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_ltₓ'. -/
@@ -785,7 +785,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
 
 /- warning: linear_order.strict_concave_on_of_lt -> LinearOrder.strictConcaveOn_of_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toHasLt.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
 Case conversion may be inaccurate. Consider using '#align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_ltₓ'. -/
@@ -937,7 +937,7 @@ variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f :
 
 /- warning: convex_on.convex_lt -> ConvexOn.convex_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f x) r) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f x) r) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f x) r))))
 Case conversion may be inaccurate. Consider using '#align convex_on.convex_lt ConvexOn.convex_ltₓ'. -/
@@ -955,7 +955,7 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
 
 /- warning: concave_on.convex_gt -> ConcaveOn.convex_gt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) r (f x)) s))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) r (f x)) s))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) r (f x)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.convex_gt ConcaveOn.convex_gtₓ'. -/
@@ -965,7 +965,7 @@ theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({
 
 /- warning: convex_on.open_segment_subset_strict_epigraph -> ConvexOn.openSegment_subset_strict_epigraph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β q)) (Prod.snd.{u2, u3} E β q))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β q)) (Prod.snd.{u2, u3} E β q))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β q)) (Prod.snd.{u2, u1} E β q))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))))
 Case conversion may be inaccurate. Consider using '#align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraphₓ'. -/
@@ -984,7 +984,7 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
 
 /- warning: concave_on.open_segment_subset_strict_hypograph -> ConcaveOn.openSegment_subset_strict_hypograph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β q) (f (Prod.fst.{u2, u3} E β q)))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β q) (f (Prod.fst.{u2, u3} E β q)))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β q) (f (Prod.fst.{u2, u1} E β q)))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypographₓ'. -/
@@ -996,7 +996,7 @@ theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f)
 
 /- warning: convex_on.convex_strict_epigraph -> ConvexOn.convex_strict_epigraph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraphₓ'. -/
@@ -1008,7 +1008,7 @@ theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
 
 /- warning: concave_on.convex_strict_hypograph -> ConcaveOn.convex_strict_hypograph is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypographₓ'. -/
@@ -1100,7 +1100,7 @@ theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveO
 
 /- warning: convex_on.le_on_segment' -> ConvexOn.le_on_segment' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment' ConvexOn.le_on_segment'ₓ'. -/
@@ -1118,7 +1118,7 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
 
 /- warning: concave_on.ge_on_segment' -> ConcaveOn.ge_on_segment' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'ₓ'. -/
@@ -1130,7 +1130,7 @@ theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈
 
 /- warning: convex_on.le_on_segment -> ConvexOn.le_on_segment is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment ConvexOn.le_on_segmentₓ'. -/
@@ -1143,7 +1143,7 @@ theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈
 
 /- warning: concave_on.ge_on_segment -> ConcaveOn.ge_on_segment is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
 Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment ConcaveOn.ge_on_segmentₓ'. -/
@@ -1155,7 +1155,7 @@ theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x 
 
 /- warning: strict_convex_on.lt_on_open_segment' -> StrictConvexOn.lt_on_open_segment' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'ₓ'. -/
@@ -1175,7 +1175,7 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
 
 /- warning: strict_concave_on.lt_on_open_segment' -> StrictConcaveOn.lt_on_open_segment' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'ₓ'. -/
@@ -1189,7 +1189,7 @@ theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y
 
 /- warning: strict_convex_on.lt_on_open_segment -> StrictConvexOn.lt_on_openSegment is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
 Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegmentₓ'. -/
@@ -1203,7 +1203,7 @@ theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z :
 
 /- warning: strict_concave_on.lt_on_open_segment -> StrictConcaveOn.lt_on_openSegment is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
 Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment StrictConcaveOn.lt_on_openSegmentₓ'. -/
@@ -1226,7 +1226,7 @@ variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g :
 
 /- warning: convex_on.le_left_of_right_le' -> ConvexOn.le_left_of_right_le' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x))))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'ₓ'. -/
@@ -1245,7 +1245,7 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
 
 /- warning: concave_on.left_le_of_le_right' -> ConcaveOn.left_le_of_le_right' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'ₓ'. -/
@@ -1257,7 +1257,7 @@ theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 
 /- warning: convex_on.le_right_of_left_le' -> ConvexOn.le_right_of_left_le' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'ₓ'. -/
@@ -1270,7 +1270,7 @@ theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
 
 /- warning: concave_on.right_le_of_le_left' -> ConcaveOn.right_le_of_le_left' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'ₓ'. -/
@@ -1282,7 +1282,7 @@ theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b
 
 /- warning: convex_on.le_left_of_right_le -> ConvexOn.le_left_of_right_le is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_leₓ'. -/
@@ -1295,7 +1295,7 @@ theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 
 /- warning: concave_on.left_le_of_le_right -> ConcaveOn.left_le_of_le_right is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
 Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_rightₓ'. -/
@@ -1306,7 +1306,7 @@ theorem ConcaveOn.left_le_of_le_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx
 
 /- warning: convex_on.le_right_of_left_le -> ConvexOn.le_right_of_left_le is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_leₓ'. -/
@@ -1319,7 +1319,7 @@ theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 
 /- warning: concave_on.right_le_of_le_left -> ConcaveOn.right_le_of_le_left is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
 Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left ConcaveOn.right_le_of_le_leftₓ'. -/
@@ -1336,7 +1336,7 @@ variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g
 
 /- warning: convex_on.lt_left_of_right_lt' -> ConvexOn.lt_left_of_right_lt' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x))))
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'ₓ'. -/
@@ -1357,7 +1357,7 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
 
 /- warning: concave_on.left_lt_of_lt_right' -> ConcaveOn.left_lt_of_lt_right' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))))))
 Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'ₓ'. -/
@@ -1369,7 +1369,7 @@ theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 
 /- warning: convex_on.lt_right_of_left_lt' -> ConvexOn.lt_right_of_left_lt' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)))
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'ₓ'. -/
@@ -1382,7 +1382,7 @@ theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
 
 /- warning: concave_on.lt_right_of_left_lt' -> ConcaveOn.lt_right_of_left_lt' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'ₓ'. -/
@@ -1394,7 +1394,7 @@ theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b
 
 /- warning: convex_on.lt_left_of_right_lt -> ConvexOn.lt_left_of_right_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_ltₓ'. -/
@@ -1407,7 +1407,7 @@ theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 
 /- warning: concave_on.left_lt_of_lt_right -> ConcaveOn.left_lt_of_lt_right is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
 Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_rightₓ'. -/
@@ -1418,7 +1418,7 @@ theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx
 
 /- warning: convex_on.lt_right_of_left_lt -> ConvexOn.lt_right_of_left_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
 Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_ltₓ'. -/
@@ -1431,7 +1431,7 @@ theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
 
 /- warning: concave_on.lt_right_of_left_lt -> ConcaveOn.lt_right_of_left_lt is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
 Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt ConcaveOn.lt_right_of_left_ltₓ'. -/
@@ -1718,7 +1718,7 @@ variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E
 
 /- warning: convex_on.smul -> ConvexOn.smul is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
 Case conversion may be inaccurate. Consider using '#align convex_on.smul ConvexOn.smulₓ'. -/
@@ -1733,7 +1733,7 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
 
 /- warning: concave_on.smul -> ConcaveOn.smul is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
 Case conversion may be inaccurate. Consider using '#align concave_on.smul ConcaveOn.smulₓ'. -/
@@ -1809,7 +1809,7 @@ variable [SMul 𝕜 E] [SMul 𝕜 β] {s : Set E}
 
 /- warning: convex_on_iff_div -> convexOn_iff_div is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
 Case conversion may be inaccurate. Consider using '#align convex_on_iff_div convexOn_iff_divₓ'. -/
@@ -1838,7 +1838,7 @@ theorem convexOn_iff_div {f : E → β} :
 
 /- warning: concave_on_iff_div -> concaveOn_iff_div is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toHasLe.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
 Case conversion may be inaccurate. Consider using '#align concave_on_iff_div concaveOn_iff_divₓ'. -/
@@ -1860,7 +1860,7 @@ theorem concaveOn_iff_div {f : E → β} :
 
 /- warning: strict_convex_on_iff_div -> strictConvexOn_iff_div is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
 Case conversion may be inaccurate. Consider using '#align strict_convex_on_iff_div strictConvexOn_iff_divₓ'. -/
@@ -1890,7 +1890,7 @@ theorem strictConvexOn_iff_div {f : E → β} :
 
 /- warning: strict_concave_on_iff_div -> strictConcaveOn_iff_div is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toHasLt.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
 but is expected to have type
   forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
 Case conversion may be inaccurate. Consider using '#align strict_concave_on_iff_div strictConcaveOn_iff_divₓ'. -/
@@ -1923,7 +1923,7 @@ variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module
 
 /- warning: convex_on.le_right_of_left_le'' -> ConvexOn.le_right_of_left_le'' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z))
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''ₓ'. -/
@@ -1935,7 +1935,7 @@ theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (
 
 /- warning: convex_on.le_left_of_right_le'' -> ConvexOn.le_left_of_right_le'' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x))
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x))
 Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''ₓ'. -/
@@ -1947,7 +1947,7 @@ theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (
 
 /- warning: concave_on.right_le_of_le_left'' -> ConcaveOn.right_le_of_le_left'' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y))
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y))
 Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''ₓ'. -/
@@ -1958,7 +1958,7 @@ theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s)
 
 /- warning: concave_on.left_le_of_le_right'' -> ConcaveOn.left_le_of_le_right'' is a dubious translation:
 lean 3 declaration is
-  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y))
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toHasLe.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toHasLt.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z)) -> (LE.le.{u2} β (Preorder.toHasLe.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y))
 but is expected to have type
   forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y))
 Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''ₓ'. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, François Dupuis
 
 ! This file was ported from Lean 3 source module analysis.convex.function
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
+! leanprover-community/mathlib commit 25a9423c6b2c8626e91c688bfd6c1d0a986a3e6e
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.Analysis.Convex.Basic
 /-!
 # Convex and concave functions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines convex and concave functions in vector spaces and proves the finite Jensen
 inequality. The integral version can be found in `analysis.convex.integral`.
 
Diff
@@ -52,6 +52,7 @@ section SMul
 
 variable (𝕜) [SMul 𝕜 E] [SMul 𝕜 α] [SMul 𝕜 β] (s : Set E) (f : E → β) {g : β → α}
 
+#print ConvexOn /-
 /-- Convexity of functions -/
 def ConvexOn : Prop :=
   Convex 𝕜 s ∧
@@ -60,7 +61,9 @@ def ConvexOn : Prop :=
         ∀ ⦃y⦄,
           y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → f (a • x + b • y) ≤ a • f x + b • f y
 #align convex_on ConvexOn
+-/
 
+#print ConcaveOn /-
 /-- Concavity of functions -/
 def ConcaveOn : Prop :=
   Convex 𝕜 s ∧
@@ -69,7 +72,9 @@ def ConcaveOn : Prop :=
         ∀ ⦃y⦄,
           y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → a + b = 1 → a • f x + b • f y ≤ f (a • x + b • y)
 #align concave_on ConcaveOn
+-/
 
+#print StrictConvexOn /-
 /-- Strict convexity of functions -/
 def StrictConvexOn : Prop :=
   Convex 𝕜 s ∧
@@ -79,7 +84,9 @@ def StrictConvexOn : Prop :=
           y ∈ s →
             x ≠ y → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 → f (a • x + b • y) < a • f x + b • f y
 #align strict_convex_on StrictConvexOn
+-/
 
+#print StrictConcaveOn /-
 /-- Strict concavity of functions -/
 def StrictConcaveOn : Prop :=
   Convex 𝕜 s ∧
@@ -89,59 +96,118 @@ def StrictConcaveOn : Prop :=
           y ∈ s →
             x ≠ y → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 → a • f x + b • f y < f (a • x + b • y)
 #align strict_concave_on StrictConcaveOn
+-/
 
 variable {𝕜 s f}
 
 open OrderDual (toDual ofDual)
 
+/- warning: convex_on.dual -> ConvexOn.dual is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+Case conversion may be inaccurate. Consider using '#align convex_on.dual ConvexOn.dualₓ'. -/
 theorem ConvexOn.dual (hf : ConvexOn 𝕜 s f) : ConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align convex_on.dual ConvexOn.dual
 
+/- warning: concave_on.dual -> ConcaveOn.dual is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+Case conversion may be inaccurate. Consider using '#align concave_on.dual ConcaveOn.dualₓ'. -/
 theorem ConcaveOn.dual (hf : ConcaveOn 𝕜 s f) : ConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align concave_on.dual ConcaveOn.dual
 
+/- warning: strict_convex_on.dual -> StrictConvexOn.dual is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.dual StrictConvexOn.dualₓ'. -/
 theorem StrictConvexOn.dual (hf : StrictConvexOn 𝕜 s f) : StrictConcaveOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_convex_on.dual StrictConvexOn.dual
 
+/- warning: strict_concave_on.dual -> StrictConcaveOn.dual is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E (OrderDual.{u3} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} β _inst_5) _inst_6 (instSMulOrderDual.{u1, u3} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u3, succ u3} E β (OrderDual.{u3} β) (coeFn.{succ u3, succ u3} (Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) (fun (_x : Equiv.{succ u3, succ u3} β (OrderDual.{u3} β)) => β -> (OrderDual.{u3} β)) (Equiv.hasCoeToFun.{succ u3, succ u3} β (OrderDual.{u3} β)) (OrderDual.toDual.{u3} β)) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_8 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E (OrderDual.{u1} β) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} β _inst_5) _inst_6 (instSMulOrderDual.{u3, u1} 𝕜 β _inst_8) s (Function.comp.{succ u2, succ u1, succ u1} E β (OrderDual.{u1} β) (FunLike.coe.{succ u1, succ u1, succ u1} (Equiv.{succ u1, succ u1} β (OrderDual.{u1} β)) β (fun (_x : β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : β) => OrderDual.{u1} β) _x) (Equiv.instFunLikeEquiv.{succ u1, succ u1} β (OrderDual.{u1} β)) (OrderDual.toDual.{u1} β)) f))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.dual StrictConcaveOn.dualₓ'. -/
 theorem StrictConcaveOn.dual (hf : StrictConcaveOn 𝕜 s f) : StrictConvexOn 𝕜 s (toDual ∘ f) :=
   hf
 #align strict_concave_on.dual StrictConcaveOn.dual
 
+#print convexOn_id /-
 theorem convexOn_id {s : Set β} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s id :=
   ⟨hs, by
     intros
     rfl⟩
 #align convex_on_id convexOn_id
+-/
 
+#print concaveOn_id /-
 theorem concaveOn_id {s : Set β} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s id :=
   ⟨hs, by
     intros
     rfl⟩
 #align concave_on_id concaveOn_id
+-/
 
+/- warning: convex_on.subset -> ConvexOn.subset is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+Case conversion may be inaccurate. Consider using '#align convex_on.subset ConvexOn.subsetₓ'. -/
 theorem ConvexOn.subset {t : Set E} (hf : ConvexOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align convex_on.subset ConvexOn.subset
 
+/- warning: concave_on.subset -> ConcaveOn.subset is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+Case conversion may be inaccurate. Consider using '#align concave_on.subset ConcaveOn.subsetₓ'. -/
 theorem ConcaveOn.subset {t : Set E} (hf : ConcaveOn 𝕜 t f) (hst : s ⊆ t) (hs : Convex 𝕜 s) :
     ConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align concave_on.subset ConcaveOn.subset
 
+/- warning: strict_convex_on.subset -> StrictConvexOn.subset is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.subset StrictConvexOn.subsetₓ'. -/
 theorem StrictConvexOn.subset {t : Set E} (hf : StrictConvexOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConvexOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_convex_on.subset StrictConvexOn.subset
 
+/- warning: strict_concave_on.subset -> StrictConcaveOn.subset is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_8 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {t : Set.{u2} E}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u2} (Set.{u2} E) (Set.hasSubset.{u2} E) s t) -> (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u2, u3} 𝕜 E] [_inst_8 : SMul.{u2, u1} 𝕜 β] {s : Set.{u3} E} {f : E -> β} {t : Set.{u3} E}, (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 t f) -> (HasSubset.Subset.{u3} (Set.{u3} E) (Set.instHasSubsetSet.{u3} E) s t) -> (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f)
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.subset StrictConcaveOn.subsetₓ'. -/
 theorem StrictConcaveOn.subset {t : Set E} (hf : StrictConcaveOn 𝕜 t f) (hst : s ⊆ t)
     (hs : Convex 𝕜 s) : StrictConcaveOn 𝕜 s f :=
   ⟨hs, fun x hx y hy => hf.2 (hst hx) (hst hy)⟩
 #align strict_concave_on.subset StrictConcaveOn.subset
 
+/- warning: convex_on.comp -> ConvexOn.comp is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align convex_on.comp ConvexOn.compₓ'. -/
 theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -151,6 +217,12 @@ theorem ConvexOn.comp (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) ha hb hab⟩
 #align convex_on.comp ConvexOn.comp
 
+/- warning: concave_on.comp -> ConcaveOn.comp is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (MonotoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align concave_on.comp ConcaveOn.compₓ'. -/
 theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : MonotoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
@@ -160,16 +232,34 @@ theorem ConcaveOn.comp (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f
         hf.2 hx hy ha hb hab⟩
 #align concave_on.comp ConcaveOn.comp
 
+/- warning: convex_on.comp_concave_on -> ConvexOn.comp_concaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align convex_on.comp_concave_on ConvexOn.comp_concaveOnₓ'. -/
 theorem ConvexOn.comp_concaveOn (hg : ConvexOn 𝕜 (f '' s) g) (hf : ConcaveOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align convex_on.comp_concave_on ConvexOn.comp_concaveOn
 
+/- warning: concave_on.comp_convex_on -> ConcaveOn.comp_convexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (ConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (ConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (ConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (AntitoneOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (ConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align concave_on.comp_convex_on ConcaveOn.comp_convexOnₓ'. -/
 theorem ConcaveOn.comp_convexOn (hg : ConcaveOn 𝕜 (f '' s) g) (hf : ConvexOn 𝕜 s f)
     (hg' : AntitoneOn g (f '' s)) : ConcaveOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg'
 #align concave_on.comp_convex_on ConcaveOn.comp_convexOn
 
+/- warning: strict_convex_on.comp -> StrictConvexOn.comp is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.comp StrictConvexOn.compₓ'. -/
 theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictConvexOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConvexOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -179,6 +269,12 @@ theorem StrictConvexOn.comp (hg : StrictConvexOn 𝕜 (f '' s) g) (hf : StrictCo
       hg.2 (mem_image_of_mem f hx) (mem_image_of_mem f hy) (mt (hf' hx hy) hxy) ha hb hab⟩
 #align strict_convex_on.comp StrictConvexOn.comp
 
+/- warning: strict_concave_on.comp -> StrictConcaveOn.comp is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictMonoOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.comp StrictConcaveOn.compₓ'. -/
 theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : StrictConcaveOn 𝕜 s f)
     (hg' : StrictMonoOn g (f '' s)) (hf' : s.InjOn f) : StrictConcaveOn 𝕜 s (g ∘ f) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -188,12 +284,24 @@ theorem StrictConcaveOn.comp (hg : StrictConcaveOn 𝕜 (f '' s) g) (hf : Strict
         hf.2 hx hy hxy ha hb hab⟩
 #align strict_concave_on.comp StrictConcaveOn.comp
 
+/- warning: strict_convex_on.comp_strict_concave_on -> StrictConvexOn.comp_strictConcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConvexOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConcaveOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConvexOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.comp_strict_concave_on StrictConvexOn.comp_strictConcaveOnₓ'. -/
 theorem StrictConvexOn.comp_strictConcaveOn (hg : StrictConvexOn 𝕜 (f '' s) g)
     (hf : StrictConcaveOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConvexOn 𝕜 s (g ∘ f) :=
   hg.dual.comp hf hg' hf'
 #align strict_convex_on.comp_strict_concave_on StrictConvexOn.comp_strictConcaveOn
 
+/- warning: strict_concave_on.comp_strict_convex_on -> StrictConcaveOn.comp_strictConvexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {α : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} α] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : SMul.{u1, u3} 𝕜 α] [_inst_8 : SMul.{u1, u4} 𝕜 β] {s : Set.{u2} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u1, u4, u3} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u4} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u2, u4} E β f s) g) -> (StrictConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u4, u3} β α (PartialOrder.toPreorder.{u4} β (OrderedAddCommMonoid.toPartialOrder.{u4} β _inst_5)) (PartialOrder.toPreorder.{u3} α (OrderedAddCommMonoid.toPartialOrder.{u3} α _inst_4)) g (Set.image.{u2, u4} E β f s)) -> (Set.InjOn.{u2, u4} E β f s) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u2, succ u4, succ u3} E β α g f))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u4} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u2} α] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u4, u1} 𝕜 E] [_inst_7 : SMul.{u4, u2} 𝕜 α] [_inst_8 : SMul.{u4, u3} 𝕜 β] {s : Set.{u1} E} {f : E -> β} {g : β -> α}, (StrictConcaveOn.{u4, u3, u2} 𝕜 β α _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_4 _inst_8 _inst_7 (Set.image.{u1, u3} E β f s) g) -> (StrictConvexOn.{u4, u1, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 _inst_8 s f) -> (StrictAntiOn.{u3, u2} β α (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5)) (PartialOrder.toPreorder.{u2} α (OrderedAddCommMonoid.toPartialOrder.{u2} α _inst_4)) g (Set.image.{u1, u3} E β f s)) -> (Set.InjOn.{u1, u3} E β f s) -> (StrictConcaveOn.{u4, u1, u2} 𝕜 E α _inst_1 _inst_2 _inst_4 _inst_6 _inst_7 s (Function.comp.{succ u1, succ u3, succ u2} E β α g f))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.comp_strict_convex_on StrictConcaveOn.comp_strictConvexOnₓ'. -/
 theorem StrictConcaveOn.comp_strictConvexOn (hg : StrictConcaveOn 𝕜 (f '' s) g)
     (hf : StrictConvexOn 𝕜 s f) (hg' : StrictAntiOn g (f '' s)) (hf' : s.InjOn f) :
     StrictConcaveOn 𝕜 s (g ∘ f) :=
@@ -206,6 +314,12 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
+/- warning: convex_on.add -> ConvexOn.add is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)))))) f g))
+Case conversion may be inaccurate. Consider using '#align convex_on.add ConvexOn.addₓ'. -/
 theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -215,6 +329,12 @@ theorem ConvexOn.add (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       ⟩
 #align convex_on.add ConvexOn.add
 
+/- warning: concave_on.add -> ConcaveOn.add is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) _inst_7))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)))))) f g))
+Case conversion may be inaccurate. Consider using '#align concave_on.add ConcaveOn.addₓ'. -/
 theorem ConcaveOn.add (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
 #align concave_on.add ConcaveOn.add
@@ -225,20 +345,44 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: convex_on_const -> convexOn_const is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (fun (x : E) => c))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (fun (x : E) => c))
+Case conversion may be inaccurate. Consider using '#align convex_on_const convexOn_constₓ'. -/
 theorem convexOn_const (c : β) (hs : Convex 𝕜 s) : ConvexOn 𝕜 s fun x : E => c :=
   ⟨hs, fun x y _ _ a b _ _ hab => (Convex.combo_self hab c).ge⟩
 #align convex_on_const convexOn_const
 
+/- warning: concave_on_const -> concaveOn_const is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (fun (x : E) => c))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} (c : β), (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (fun (x : E) => c))
+Case conversion may be inaccurate. Consider using '#align concave_on_const concaveOn_constₓ'. -/
 theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun x : E => c :=
   @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
 #align concave_on_const concaveOn_const
 
+/- warning: convex_on_of_convex_epigraph -> convexOn_of_convex_epigraph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align convex_on_of_convex_epigraph convexOn_of_convex_epigraphₓ'. -/
 theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 }) :
     ConvexOn 𝕜 s f :=
   ⟨fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).1,
     fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).2⟩
 #align convex_on_of_convex_epigraph convexOn_of_convex_epigraph
 
+/- warning: concave_on_of_convex_hypograph -> concaveOn_of_convex_hypograph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align concave_on_of_convex_hypograph concaveOn_of_convex_hypographₓ'. -/
 theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 }) :
     ConcaveOn 𝕜 s f :=
   @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
@@ -250,6 +394,12 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: convex_on.convex_le -> ConvexOn.convex_le is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
+Case conversion may be inaccurate. Consider using '#align convex_on.convex_le ConvexOn.convex_leₓ'. -/
 theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x ≤ r }) :=
   fun x hx y hy a b ha hb hab =>
   ⟨hf.1 hx.1 hy.1 ha hb hab,
@@ -261,10 +411,22 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
 
+/- warning: concave_on.convex_ge -> ConcaveOn.convex_ge is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_6 (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.convex_ge ConcaveOn.convex_geₓ'. -/
 theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r ≤ f x }) :=
   hf.dual.convex_le r
 #align concave_on.convex_ge ConcaveOn.convex_ge
 
+/- warning: convex_on.convex_epigraph -> ConvexOn.convex_epigraph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.convex_epigraph ConvexOn.convex_epigraphₓ'. -/
 theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
   by
@@ -276,16 +438,34 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
+/- warning: concave_on.convex_hypograph -> ConcaveOn.convex_hypograph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.convex_hypograph ConcaveOn.convex_hypographₓ'. -/
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   hf.dual.convex_epigraph
 #align concave_on.convex_hypograph ConcaveOn.convex_hypograph
 
+/- warning: convex_on_iff_convex_epigraph -> convexOn_iff_convex_epigraph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
+Case conversion may be inaccurate. Consider using '#align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraphₓ'. -/
 theorem convexOn_iff_convex_epigraph :
     ConvexOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 } :=
   ⟨ConvexOn.convex_epigraph, convexOn_of_convex_epigraph⟩
 #align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraph
 
+/- warning: concave_on_iff_convex_hypograph -> concaveOn_iff_convex_hypograph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : SMul.{u1, u2} 𝕜 E] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)) (Prod.smul.{u1, u2, u3} 𝕜 E β _inst_6 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : SMul.{u3, u2} 𝕜 E] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)) (Prod.smul.{u3, u2, u1} 𝕜 E β _inst_6 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
+Case conversion may be inaccurate. Consider using '#align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypographₓ'. -/
 theorem concaveOn_iff_convex_hypograph :
     ConcaveOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
@@ -297,6 +477,12 @@ section Module
 
 variable [Module 𝕜 E] [SMul 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: convex_on.translate_right -> ConvexOn.translate_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
+Case conversion may be inaccurate. Consider using '#align convex_on.translate_right ConvexOn.translate_rightₓ'. -/
 /-- Right translation preserves convexity. -/
 theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -308,18 +494,36 @@ theorem ConvexOn.translate_right (hf : ConvexOn 𝕜 s f) (c : E) :
       ⟩
 #align convex_on.translate_right ConvexOn.translate_right
 
+/- warning: concave_on.translate_right -> ConcaveOn.translate_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.translate_right ConcaveOn.translate_rightₓ'. -/
 /-- Right translation preserves concavity. -/
 theorem ConcaveOn.translate_right (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align concave_on.translate_right ConcaveOn.translate_right
 
+/- warning: convex_on.translate_left -> ConvexOn.translate_left is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
+Case conversion may be inaccurate. Consider using '#align convex_on.translate_left ConvexOn.translate_leftₓ'. -/
 /-- Left translation preserves convexity. -/
 theorem ConvexOn.translate_left (hf : ConvexOn 𝕜 s f) (c : E) :
     ConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align convex_on.translate_left ConvexOn.translate_left
 
+/- warning: concave_on.translate_left -> ConcaveOn.translate_left is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 s f) -> (forall (c : E), ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_7 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) z c)))
+Case conversion may be inaccurate. Consider using '#align concave_on.translate_left ConcaveOn.translate_leftₓ'. -/
 /-- Left translation preserves concavity. -/
 theorem ConcaveOn.translate_left (hf : ConcaveOn 𝕜 s f) (c : E) :
     ConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) :=
@@ -332,6 +536,12 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β]
 
+/- warning: convex_on_iff_forall_pos -> convexOn_iff_forall_pos is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))))
+Case conversion may be inaccurate. Consider using '#align convex_on_iff_forall_pos convexOn_iff_forall_posₓ'. -/
 theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -355,6 +565,12 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
+/- warning: concave_on_iff_forall_pos -> concaveOn_iff_forall_pos is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (forall {{x : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x s) -> (forall {{y : E}}, (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))))
+Case conversion may be inaccurate. Consider using '#align concave_on_iff_forall_pos concaveOn_iff_forall_posₓ'. -/
 theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -366,6 +582,12 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
   @convexOn_iff_forall_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_forall_pos concaveOn_iff_forall_pos
 
+/- warning: convex_on_iff_pairwise_pos -> convexOn_iff_pairwise_pos is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y)))))))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y)))))))
+Case conversion may be inaccurate. Consider using '#align convex_on_iff_pairwise_pos convexOn_iff_pairwise_posₓ'. -/
 theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -381,6 +603,12 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   exact h hx hy hxy ha hb hab
 #align convex_on_iff_pairwise_pos convexOn_iff_pairwise_pos
 
+/- warning: concave_on_iff_pairwise_pos -> concaveOn_iff_pairwise_pos is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) (And (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u2} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y)))))))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, Iff (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) (And (Convex.{u2, u3} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) s) (Set.Pairwise.{u3} E s (fun (x : E) (y : E) => forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) a) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (OrderedSemiring.toPartialOrder.{u2} 𝕜 _inst_1))) (OfNat.ofNat.{u2} 𝕜 0 (Zero.toOfNat0.{u2} 𝕜 (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) b) -> (Eq.{succ u2} 𝕜 (HAdd.hAdd.{u2, u2, u2} 𝕜 𝕜 𝕜 (instHAdd.{u2} 𝕜 (Distrib.toAdd.{u2} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u2} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} 𝕜 (Semiring.toNonAssocSemiring.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u2} 𝕜 1 (One.toOfNat1.{u2} 𝕜 (Semiring.toOne.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u2, u1, u1} 𝕜 β β (instHSMul.{u2, u1} 𝕜 β (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u3, u3, u3} E E E (instHAdd.{u3} E (AddZeroClass.toAdd.{u3} E (AddMonoid.toAddZeroClass.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)))) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u2, u3, u3} 𝕜 E E (instHSMul.{u2, u3} 𝕜 E (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6))))) b y)))))))
+Case conversion may be inaccurate. Consider using '#align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_posₓ'. -/
 theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -389,22 +617,46 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   @convexOn_iff_pairwise_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_pos
 
+/- warning: linear_map.convex_on -> LinearMap.convexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.convex_on LinearMap.convexOnₓ'. -/
 /-- A linear map is convex. -/
 theorem LinearMap.convexOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConvexOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.convex_on LinearMap.convexOn
 
+/- warning: linear_map.concave_on -> LinearMap.concaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] (f : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7) => E -> β) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] (f : LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) {s : Set.{u2} E}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u3, u3, u2, u1} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E β _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => β) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u2, u1} 𝕜 𝕜 E β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) f))
+Case conversion may be inaccurate. Consider using '#align linear_map.concave_on LinearMap.concaveOnₓ'. -/
 /-- A linear map is concave. -/
 theorem LinearMap.concaveOn (f : E →ₗ[𝕜] β) {s : Set E} (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s f :=
   ⟨hs, fun _ _ _ _ _ _ _ _ _ => by rw [f.map_add, f.map_smul, f.map_smul]⟩
 #align linear_map.concave_on LinearMap.concaveOn
 
+/- warning: strict_convex_on.convex_on -> StrictConvexOn.convexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, (StrictConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (ConvexOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.convex_on StrictConvexOn.convexOnₓ'. -/
 theorem StrictConvexOn.convexOn {s : Set E} {f : E → β} (hf : StrictConvexOn 𝕜 s f) :
     ConvexOn 𝕜 s f :=
   convexOn_iff_pairwise_pos.mpr
     ⟨hf.1, fun x hx y hy hxy a b ha hb hab => (hf.2 hx hy hxy ha hb hab).le⟩
 #align strict_convex_on.convex_on StrictConvexOn.convexOn
 
+/- warning: strict_concave_on.concave_on -> StrictConcaveOn.concaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {E : Type.{u3}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u2} 𝕜] [_inst_2 : AddCommMonoid.{u3} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] {s : Set.{u3} E} {f : E -> β}, (StrictConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (ConcaveOn.{u2, u3, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u2, u3} 𝕜 E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u3} 𝕜 E (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u3} 𝕜 E (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E _inst_2)) (Module.toMulActionWithZero.{u2, u3} 𝕜 E (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (MonoidWithZero.toZero.{u2} 𝕜 (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (OrderedSemiring.toSemiring.{u2} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.concave_on StrictConcaveOn.concaveOnₓ'. -/
 theorem StrictConcaveOn.concaveOn {s : Set E} {f : E → β} (hf : StrictConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s f :=
   hf.dual.ConvexOn
@@ -414,6 +666,12 @@ section OrderedSMul
 
 variable [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: strict_convex_on.convex_lt -> StrictConvexOn.convex_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f x) r) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f x) r))))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.convex_lt StrictConvexOn.convex_ltₓ'. -/
 theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({ x ∈ s | f x < r }) :=
   convex_iff_pairwise_pos.2 fun x hx y hy hxy a b ha hb hab =>
@@ -426,6 +684,12 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 
+/- warning: strict_concave_on.convex_gt -> StrictConcaveOn.convex_gt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) r (f x)) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 _inst_5 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) r (f x)))))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.convex_gt StrictConcaveOn.convex_gtₓ'. -/
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
@@ -437,6 +701,12 @@ section LinearOrder
 
 variable [LinearOrder E] {s : Set E} {f : E → β}
 
+/- warning: linear_order.convex_on_of_lt -> LinearOrder.convexOn_of_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align linear_order.convex_on_of_lt LinearOrder.convexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is convex, it suffices to
 verify the inequality `f (a • x + b • y) ≤ a • f x + b • f y` only for `x < y` and positive `a`,
@@ -460,6 +730,12 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
 
+/- warning: linear_order.concave_on_of_lt -> LinearOrder.concaveOn_of_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is concave it suffices to
 verify the inequality `a • f x + b • f y ≤ f (a • x + b • y)` for `x < y` and positive `a`, `b`. The
@@ -476,6 +752,12 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
   @LinearOrder.convexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ s f hs hf
 #align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_lt
 
+/- warning: linear_order.strict_convex_on_of_lt -> LinearOrder.strictConvexOn_of_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))))))) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))))))) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly convex, it suffices
 to verify the inequality `f (a • x + b • y) < a • f x + b • f y` for `x < y` and positive `a`, `b`.
@@ -498,6 +780,12 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
 
+/- warning: linear_order.strict_concave_on_of_lt -> LinearOrder.strictConcaveOn_of_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u3} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (LinearOrder.toLattice.{u2} E _inst_8))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_5))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5))))) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) a (f x)) (SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) b y))))))) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_5) _inst_7)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_5 : OrderedAddCommMonoid.{u1} β] [_inst_6 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5)] [_inst_8 : LinearOrder.{u2} E] {s : Set.{u2} E} {f : E -> β}, (Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) s) -> (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u2} E (Preorder.toLT.{u2} E (PartialOrder.toPreorder.{u2} E (SemilatticeInf.toPartialOrder.{u2} E (Lattice.toSemilatticeInf.{u2} E (DistribLattice.toLattice.{u2} E (instDistribLattice.{u2} E _inst_8)))))) x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_5))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) a (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7))))) b (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6))))) b y))))))) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_5) _inst_7)))) s f)
+Case conversion may be inaccurate. Consider using '#align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_ltₓ'. -/
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices
 to verify the inequality `a • f x + b • f y < f (a • x + b • y)` for `x < y` and positive `a`, `b`.
@@ -522,6 +810,12 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
+/- warning: convex_on.comp_linear_map -> ConvexOn.comp_linearMap is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConvexOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConvexOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+Case conversion may be inaccurate. Consider using '#align convex_on.comp_linear_map ConvexOn.comp_linearMapₓ'. -/
 /-- If `g` is convex on `s`, so is `(f ∘ g)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -532,6 +826,12 @@ theorem ConvexOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConvexOn 𝕜 s
       ⟩
 #align convex_on.comp_linear_map ConvexOn.comp_linearMap
 
+/- warning: concave_on.comp_linear_map -> ConcaveOn.comp_linearMap is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : AddCommMonoid.{u3} F] [_inst_5 : OrderedAddCommMonoid.{u4} β] [_inst_6 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u1, u4} 𝕜 β] {f : F -> β} {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F _inst_3))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u1, u2, u4} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) (fun (_x : LinearMap.{u1, u1, u2, u3} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) => E -> F) (LinearMap.hasCoeToFun.{u1, u1, u2, u3} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))) g)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u1}} {F : Type.{u4}} {β : Type.{u2}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u1} E] [_inst_3 : AddCommMonoid.{u4} F] [_inst_5 : OrderedAddCommMonoid.{u2} β] [_inst_6 : Module.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_7 : Module.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3] [_inst_8 : SMul.{u3, u2} 𝕜 β] {f : F -> β} {s : Set.{u4} F}, (ConcaveOn.{u3, u4, u2} 𝕜 F β _inst_1 _inst_3 _inst_5 (SMulZeroClass.toSMul.{u3, u4} 𝕜 F (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (SMulWithZero.toSMulZeroClass.{u3, u4} 𝕜 F (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (MulActionWithZero.toSMulWithZero.{u3, u4} 𝕜 F (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u4} F (AddCommMonoid.toAddMonoid.{u4} F _inst_3)) (Module.toMulActionWithZero.{u3, u4} 𝕜 F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_3 _inst_7)))) _inst_8 s f) -> (forall (g : LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7), ConcaveOn.{u3, u1, u2} 𝕜 E β _inst_1 _inst_2 _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 E (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} E (AddCommMonoid.toAddMonoid.{u1} E _inst_2)) (Module.toMulActionWithZero.{u3, u1} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_6)))) _inst_8 (Set.preimage.{u1, u4} E F (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g) s) (Function.comp.{succ u1, succ u4, succ u2} E F β f (FunLike.coe.{max (succ u1) (succ u4), succ u1, succ u4} (LinearMap.{u3, u3, u1, u4} 𝕜 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) E F _inst_2 _inst_3 _inst_6 _inst_7) E (fun (_x : E) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : E) => F) _x) (LinearMap.instFunLikeLinearMap.{u3, u3, u1, u4} 𝕜 𝕜 E F (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_6 _inst_7 (RingHom.id.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))) g)))
+Case conversion may be inaccurate. Consider using '#align concave_on.comp_linear_map ConcaveOn.comp_linearMapₓ'. -/
 /-- If `g` is concave on `s`, so is `(g ∘ f)` on `f ⁻¹' s` for a linear `f`. -/
 theorem ConcaveOn.comp_linearMap {f : F → β} {s : Set F} (hf : ConcaveOn 𝕜 s f) (g : E →ₗ[𝕜] F) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -550,6 +850,12 @@ section DistribMulAction
 
 variable [SMul 𝕜 E] [DistribMulAction 𝕜 β] {s : Set E} {f g : E → β}
 
+/- warning: strict_convex_on.add_convex_on -> StrictConvexOn.add_convexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.add_convex_on StrictConvexOn.add_convexOnₓ'. -/
 theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -560,11 +866,23 @@ theorem StrictConvexOn.add_convexOn (hf : StrictConvexOn 𝕜 s f) (hg : ConvexO
       ⟩
 #align strict_convex_on.add_convex_on StrictConvexOn.add_convexOn
 
+/- warning: convex_on.add_strict_convex_on -> ConvexOn.add_strictConvexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align convex_on.add_strict_convex_on ConvexOn.add_strictConvexOnₓ'. -/
 theorem ConvexOn.add_strictConvexOn (hf : ConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   add_comm g f ▸ hg.add_convexOn hf
 #align convex_on.add_strict_convex_on ConvexOn.add_strictConvexOn
 
+/- warning: strict_convex_on.add -> StrictConvexOn.add is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.add StrictConvexOn.addₓ'. -/
 theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f + g) :=
   ⟨hf.1, fun x hx y hy hxy a b ha hb hab =>
@@ -575,16 +893,34 @@ theorem StrictConvexOn.add (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
       ⟩
 #align strict_convex_on.add StrictConvexOn.add
 
+/- warning: strict_concave_on.add_concave_on -> StrictConcaveOn.add_concaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.add_concave_on StrictConcaveOn.add_concaveOnₓ'. -/
 theorem StrictConcaveOn.add_concaveOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_convexOn hg.dual
 #align strict_concave_on.add_concave_on StrictConcaveOn.add_concaveOn
 
+/- warning: concave_on.add_strict_concave_on -> ConcaveOn.add_strictConcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align concave_on.add_strict_concave_on ConcaveOn.add_strictConcaveOnₓ'. -/
 theorem ConcaveOn.add_strictConcaveOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add_strictConvexOn hg.dual
 #align concave_on.add_strict_concave_on ConcaveOn.add_strictConcaveOn
 
+/- warning: strict_concave_on.add -> StrictConcaveOn.add is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))) (DistribSMul.toSmulZeroClass.{u1, u3} 𝕜 β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4))))) (DistribMulAction.toDistribSMul.{u1, u3} 𝕜 β (MonoidWithZero.toMonoid.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u3} (E -> β) (Pi.instAdd.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddRightCancelMonoid.toAddMonoid.{u3} β (AddCancelMonoid.toAddRightCancelMonoid.{u3} β (AddCancelCommMonoid.toAddCancelMonoid.{u3} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u3} β _inst_4)))))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : DistribMulAction.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (DistribSMul.toSMulZeroClass.{u3, u1} 𝕜 β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4))))) (DistribMulAction.toDistribSMul.{u3, u1} 𝕜 β (MonoidWithZero.toMonoid.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) _inst_6))) s (HAdd.hAdd.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHAdd.{max u2 u1} (E -> β) (Pi.instAdd.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddRightCancelMonoid.toAddMonoid.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.add StrictConcaveOn.addₓ'. -/
 theorem StrictConcaveOn.add (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f + g) :=
   hf.dual.add hg
@@ -596,6 +932,12 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: convex_on.convex_lt -> ConvexOn.convex_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f x) r) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f x) r))))
+Case conversion may be inaccurate. Consider using '#align convex_on.convex_lt ConvexOn.convex_ltₓ'. -/
 theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | f x < r }) :=
   convex_iff_forall_pos.2 fun x hx y hy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
@@ -608,10 +950,22 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
         ⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
+/- warning: concave_on.convex_gt -> ConcaveOn.convex_gt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (Sep.sep.{u2, u2} E (Set.{u2} E) (Set.hasSep.{u2} E) (fun (x : E) => LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) r (f x)) s))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (r : β), Convex.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (setOf.{u2} E (fun (x : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) r (f x)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.convex_gt ConcaveOn.convex_gtₓ'. -/
 theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
 #align concave_on.convex_gt ConcaveOn.convex_gt
 
+/- warning: convex_on.open_segment_subset_strict_epigraph -> ConvexOn.openSegment_subset_strict_epigraph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β q)) (Prod.snd.{u2, u3} E β q))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β q)) (Prod.snd.{u2, u1} E β q))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p))))))
+Case conversion may be inaccurate. Consider using '#align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraphₓ'. -/
 theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ f p.1 < p.2) (hq : q.1 ∈ s ∧ f q.1 ≤ q.2) :
     openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
@@ -625,18 +979,36 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
     
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
+/- warning: concave_on.open_segment_subset_strict_hypograph -> ConcaveOn.openSegment_subset_strict_hypograph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u3} E β) (q : Prod.{u2, u3} E β), (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))) -> (And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β q) s) (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β q) (f (Prod.fst.{u2, u3} E β q)))) -> (HasSubset.Subset.{max u2 u3} (Set.{max u2 u3} (Prod.{u2, u3} E β)) (Set.hasSubset.{max u2 u3} (Prod.{u2, u3} E β)) (openSegment.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p)))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall (p : Prod.{u2, u1} E β) (q : Prod.{u2, u1} E β), (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))) -> (And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β q) s) (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β q) (f (Prod.fst.{u2, u1} E β q)))) -> (HasSubset.Subset.{max u2 u1} (Set.{max u2 u1} (Prod.{u2, u1} E β)) (Set.instHasSubsetSet.{max u2 u1} (Prod.{u2, u1} E β)) (openSegment.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) p q) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p)))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypographₓ'. -/
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
     openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
   hf.dual.openSegment_subset_strict_epigraph p q hp hq
 #align concave_on.open_segment_subset_strict_hypograph ConcaveOn.openSegment_subset_strict_hypograph
 
+/- warning: convex_on.convex_strict_epigraph -> ConvexOn.convex_strict_epigraph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (f (Prod.fst.{u2, u3} E β p)) (Prod.snd.{u2, u3} E β p)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (f (Prod.fst.{u2, u1} E β p)) (Prod.snd.{u2, u1} E β p)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraphₓ'. -/
 theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 < p.2 } :=
   convex_iff_openSegment_subset.mpr fun p hp q hq =>
     hf.openSegment_subset_strict_epigraph p q hp ⟨hq.1, hq.2.le⟩
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
 
+/- warning: concave_on.convex_strict_hypograph -> ConcaveOn.convex_strict_hypograph is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6)))) s f) -> (Convex.{u1, max u2 u3} 𝕜 (Prod.{u2, u3} E β) _inst_1 (Prod.addCommMonoid.{u2, u3} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)) (Prod.smul.{u1, u2, u3} 𝕜 E β (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β _inst_4) _inst_6))))) (setOf.{max u2 u3} (Prod.{u2, u3} E β) (fun (p : Prod.{u2, u3} E β) => And (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (Prod.fst.{u2, u3} E β p) s) (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β _inst_4))) (Prod.snd.{u2, u3} E β p) (f (Prod.fst.{u2, u3} E β p))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (Convex.{u3, max u2 u1} 𝕜 (Prod.{u2, u1} E β) _inst_1 (Prod.instAddCommMonoidSum.{u2, u1} E β _inst_2 (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)) (Prod.smul.{u3, u2, u1} 𝕜 E β (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))))) (setOf.{max u2 u1} (Prod.{u2, u1} E β) (fun (p : Prod.{u2, u1} E β) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) (Prod.fst.{u2, u1} E β p) s) (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β _inst_4))) (Prod.snd.{u2, u1} E β p) (f (Prod.fst.{u2, u1} E β p))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.convex_strict_hypograph ConcaveOn.convex_strict_hypographₓ'. -/
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
   hf.dual.convex_strict_epigraph
@@ -651,6 +1023,12 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid β] [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E}
   {f g : E → β}
 
+/- warning: convex_on.sup -> ConvexOn.sup is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Sup.sup.{max u2 u3} (E -> β) (Pi.hasSup.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Sup.sup.{max u2 u1} (E -> β) (Pi.instSupForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toSup.{u1} β (Lattice.toSemilatticeSup.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align convex_on.sup ConvexOn.supₓ'. -/
 /-- The pointwise maximum of convex functions is convex. -/
 theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexOn 𝕜 s (f ⊔ g) :=
   by
@@ -669,11 +1047,23 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       
 #align convex_on.sup ConvexOn.sup
 
+/- warning: concave_on.inf -> ConcaveOn.inf is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Inf.inf.{max u2 u3} (E -> β) (Pi.hasInf.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Inf.inf.{max u2 u1} (E -> β) (Pi.instInfForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => Lattice.toInf.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4))))) f g))
+Case conversion may be inaccurate. Consider using '#align concave_on.inf ConcaveOn.infₓ'. -/
 /-- The pointwise minimum of concave functions is concave. -/
 theorem ConcaveOn.inf (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align concave_on.inf ConcaveOn.inf
 
+/- warning: strict_convex_on.sup -> StrictConvexOn.sup is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Sup.sup.{max u2 u3} (E -> β) (Pi.hasSup.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toHasSup.{u3} β (Lattice.toSemilatticeSup.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Sup.sup.{max u2 u1} (E -> β) (Pi.instSupForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeSup.toSup.{u1} β (Lattice.toSemilatticeSup.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.sup StrictConvexOn.supₓ'. -/
 /-- The pointwise maximum of strictly convex functions is strictly convex. -/
 theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f ⊔ g) :=
@@ -693,12 +1083,24 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
         )⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 
+/- warning: strict_concave_on.inf -> StrictConcaveOn.inf is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s (Inf.inf.{max u2 u3} (E -> β) (Pi.hasInf.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SemilatticeInf.toHasInf.{u3} β (Lattice.toSemilatticeInf.{u3} β (LinearOrder.toLattice.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s (Inf.inf.{max u2 u1} (E -> β) (Pi.instInfForAll.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => Lattice.toInf.{u1} β (DistribLattice.toLattice.{u1} β (instDistribLattice.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.inf StrictConcaveOn.infₓ'. -/
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
 theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
 #align strict_concave_on.inf StrictConcaveOn.inf
 
+/- warning: convex_on.le_on_segment' -> ConvexOn.le_on_segment' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment' ConvexOn.le_on_segment'ₓ'. -/
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s) {a b : 𝕜}
     (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : f (a • x + b • y) ≤ max (f x) (f y) :=
@@ -711,12 +1113,24 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
     
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
+/- warning: concave_on.ge_on_segment' -> ConcaveOn.ge_on_segment' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'ₓ'. -/
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : min (f x) (f y) ≤ f (a • x + b • y) :=
   hf.dual.le_on_segment' hx hy ha hb hab
 #align concave_on.ge_on_segment' ConcaveOn.ge_on_segment'
 
+/- warning: convex_on.le_on_segment -> ConvexOn.le_on_segment is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_on_segment ConvexOn.le_on_segmentₓ'. -/
 /-- A convex function on a segment is upper-bounded by the max of its endpoints. -/
 theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : f z ≤ max (f x) (f y) :=
@@ -724,12 +1138,24 @@ theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈
   hz ▸ hf.le_on_segment' hx hy ha hb hab
 #align convex_on.le_on_segment ConvexOn.le_on_segment
 
+/- warning: concave_on.ge_on_segment -> ConcaveOn.ge_on_segment is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (segment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (segment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.ge_on_segment ConcaveOn.ge_on_segmentₓ'. -/
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : min (f x) (f y) ≤ f z :=
   hf.dual.le_on_segment hx hy hz
 #align concave_on.ge_on_segment ConcaveOn.ge_on_segment
 
+/- warning: strict_convex_on.lt_on_open_segment' -> StrictConvexOn.lt_on_open_segment' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)))))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -744,6 +1170,12 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
     
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
+/- warning: strict_concave_on.lt_on_open_segment' -> StrictConcaveOn.lt_on_open_segment' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'ₓ'. -/
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -752,6 +1184,12 @@ theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y
   hf.dual.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_concave_on.lt_on_open_segment' StrictConcaveOn.lt_on_open_segment'
 
+/- warning: strict_convex_on.lt_on_open_segment -> StrictConvexOn.lt_on_openSegment is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (f z) (LinearOrder.max.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (f z) (Max.max.{u1} β (LinearOrder.toMax.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y))))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegmentₓ'. -/
 /-- A strictly convex function on an open segment is strictly upper-bounded by the max of its
 endpoints. -/
 theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -760,6 +1198,12 @@ theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z :
   hz ▸ hf.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegment
 
+/- warning: strict_concave_on.lt_on_open_segment -> StrictConcaveOn.lt_on_openSegment is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} β _inst_4)))) (LinearOrder.min.{u3} β (LinearOrderedAddCommMonoid.toLinearOrder.{u3} β _inst_4) (f x) (f y)) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4)] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_4) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β _inst_4)))) (Min.min.{u1} β (LinearOrder.toMin.{u1} β (LinearOrderedAddCommMonoid.toLinearOrder.{u1} β _inst_4)) (f x) (f y)) (f z)))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.lt_on_open_segment StrictConcaveOn.lt_on_openSegmentₓ'. -/
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_openSegment (hf : StrictConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -777,6 +1221,12 @@ section OrderedSMul
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
+/- warning: convex_on.le_left_of_right_le' -> ConvexOn.le_left_of_right_le' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x))))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'ₓ'. -/
 theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f y ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f x :=
@@ -790,12 +1240,24 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
+/- warning: concave_on.left_le_of_le_right' -> ConcaveOn.left_le_of_le_right' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f (a • x + b • y) ≤ f y) :
     f x ≤ f (a • x + b • y) :=
   hf.dual.le_left_of_right_le' hx hy ha hb hab hfy
 #align concave_on.left_le_of_le_right' ConcaveOn.left_le_of_le_right'
 
+/- warning: convex_on.le_right_of_left_le' -> ConvexOn.le_right_of_left_le' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f y)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f y)))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'ₓ'. -/
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f y := by
@@ -803,12 +1265,24 @@ theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
+/- warning: concave_on.right_le_of_le_left' -> ConcaveOn.right_le_of_le_left' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y))) (f x)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_5 a x) (SMul.smul.{u1, u2} 𝕜 E _inst_5 b y)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y))) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_5) b y)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) ≤ f x) :
     f y ≤ f (a • x + b • y) :=
   hf.dual.le_right_of_left_le' hx hy ha hb hab hfx
 #align concave_on.right_le_of_le_left' ConcaveOn.right_le_of_le_left'
 
+/- warning: convex_on.le_left_of_right_le -> ConvexOn.le_left_of_right_le is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_leₓ'. -/
 theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y ≤ f z) : f z ≤ f x :=
   by
@@ -816,11 +1290,23 @@ theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_left_of_right_le' hx hy ha hb.le hab hyz
 #align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_le
 
+/- warning: concave_on.left_le_of_le_right -> ConcaveOn.left_le_of_le_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_rightₓ'. -/
 theorem ConcaveOn.left_le_of_le_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z ≤ f y) : f x ≤ f z :=
   hf.dual.le_left_of_right_le hx hy hz hyz
 #align concave_on.left_le_of_le_right ConcaveOn.left_le_of_le_right
 
+/- warning: convex_on.le_right_of_left_le -> ConvexOn.le_right_of_left_le is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_leₓ'. -/
 theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x ≤ f z) : f z ≤ f y :=
   by
@@ -828,6 +1314,12 @@ theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_right_of_left_le' hx hy ha.le hb hab hxz
 #align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_le
 
+/- warning: concave_on.right_le_of_le_left -> ConcaveOn.right_le_of_le_left is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 _inst_5 x y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left ConcaveOn.right_le_of_le_leftₓ'. -/
 theorem ConcaveOn.right_le_of_le_left (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z ≤ f x) : f y ≤ f z :=
   hf.dual.le_right_of_left_le hx hy hz hxz
@@ -839,6 +1331,12 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
+/- warning: convex_on.lt_left_of_right_lt' -> ConvexOn.lt_left_of_right_lt' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x))))
+Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'ₓ'. -/
 /- The following lemmas don't require `module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
 the writing, we decided the resulting lemmas wouldn't be useful. Feel free to reintroduce them. -/
 theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -854,12 +1352,24 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
+/- warning: concave_on.left_lt_of_lt_right' -> ConcaveOn.left_lt_of_lt_right' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {a : 𝕜} {b : 𝕜}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))))))
+Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'ₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a • x + b • y) < f y) :
     f x < f (a • x + b • y) :=
   hf.dual.lt_left_of_right_lt' hx hy ha hb hab hfy
 #align concave_on.left_lt_of_lt_right' ConcaveOn.left_lt_of_lt_right'
 
+/- warning: convex_on.lt_right_of_left_lt' -> ConvexOn.lt_right_of_left_lt' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f y)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f y)))
+Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
     f (a • x + b • y) < f y := by
@@ -867,12 +1377,24 @@ theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
+/- warning: concave_on.lt_right_of_left_lt' -> ConcaveOn.lt_right_of_left_lt' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 _inst_1)))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))))) b) -> (Eq.{succ u1} 𝕜 (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u1} 𝕜 1 (OfNat.mk.{u1} 𝕜 1 (One.one.{u1} 𝕜 (AddMonoidWithOne.toOne.{u1} 𝕜 (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} 𝕜 (NonAssocSemiring.toAddCommMonoidWithOne.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))))))) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y))) (f x)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) a x) (SMul.smul.{u1, u2} 𝕜 E (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) b y)))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {a : 𝕜} {b : 𝕜}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 _inst_1))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) b) -> (Eq.{succ u3} 𝕜 (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} 𝕜 (Semiring.toNonAssocSemiring.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)))))) a b) (OfNat.ofNat.{u3} 𝕜 1 (One.toOfNat1.{u3} 𝕜 (Semiring.toOne.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))))) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y))) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) a x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5))))) b y)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'ₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) < f x) :
     f y < f (a • x + b • y) :=
   hf.dual.lt_right_of_left_lt' hx hy ha hb hab hfx
 #align concave_on.lt_right_of_left_lt' ConcaveOn.lt_right_of_left_lt'
 
+/- warning: convex_on.lt_left_of_right_lt -> ConvexOn.lt_left_of_right_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)))
+Case conversion may be inaccurate. Consider using '#align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_ltₓ'. -/
 theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f y < f z) : f z < f x :=
   by
@@ -880,11 +1402,23 @@ theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_left_of_right_lt' hx hy ha hb hab hyz
 #align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_lt
 
+/- warning: concave_on.left_lt_of_lt_right -> ConcaveOn.left_lt_of_lt_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_rightₓ'. -/
 theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z < f y) : f x < f z :=
   hf.dual.lt_left_of_right_lt hx hy hz hyz
 #align concave_on.left_lt_of_lt_right ConcaveOn.left_lt_of_lt_right
 
+/- warning: convex_on.lt_right_of_left_lt -> ConvexOn.lt_right_of_left_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f y)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f x) (f z)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f y)))
+Case conversion may be inaccurate. Consider using '#align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_ltₓ'. -/
 theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f x < f z) : f z < f y :=
   by
@@ -892,6 +1426,12 @@ theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_right_of_left_lt' hx hy ha hb hab hxz
 #align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_lt
 
+/- warning: concave_on.lt_right_of_left_lt -> ConcaveOn.lt_right_of_left_lt is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))] [_inst_7 : OrderedSMul.{u1, u3} 𝕜 β _inst_1 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) z (openSegment.{u1, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedCancelAddCommMonoid.toPartialOrder.{u3} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u3} β _inst_4)))) (f y) (f z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_5 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] [_inst_7 : OrderedSMul.{u3, u1} 𝕜 β _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_4)) (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (forall {x : E} {y : E} {z : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) z (openSegment.{u3, u2} 𝕜 E _inst_1 _inst_2 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddMonoid.toZero.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_5)))) x y)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f z) (f x)) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_4)))) (f y) (f z)))
+Case conversion may be inaccurate. Consider using '#align concave_on.lt_right_of_left_lt ConcaveOn.lt_right_of_left_ltₓ'. -/
 theorem ConcaveOn.lt_right_of_left_lt (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z < f x) : f y < f z :=
   hf.dual.lt_right_of_left_lt hx hy hz hxz
@@ -905,6 +1445,12 @@ section OrderedAddCommGroup
 
 variable [OrderedAddCommGroup β] [SMul 𝕜 E] [Module 𝕜 β] {s : Set E} {f g : E → β}
 
+/- warning: neg_convex_on_iff -> neg_convexOn_iff is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
+Case conversion may be inaccurate. Consider using '#align neg_convex_on_iff neg_convexOn_iffₓ'. -/
 /-- A function `-f` is convex iff `f` is concave. -/
 @[simp]
 theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
@@ -921,12 +1467,24 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f :=
     exact h hx hy ha hb hab
 #align neg_convex_on_iff neg_convexOn_iff
 
+/- warning: neg_concave_on_iff -> neg_concaveOn_iff is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
+Case conversion may be inaccurate. Consider using '#align neg_concave_on_iff neg_concaveOn_iffₓ'. -/
 /-- A function `-f` is concave iff `f` is convex. -/
 @[simp]
 theorem neg_concaveOn_iff : ConcaveOn 𝕜 s (-f) ↔ ConvexOn 𝕜 s f := by
   rw [← neg_convexOn_iff, neg_neg f]
 #align neg_concave_on_iff neg_concaveOn_iff
 
+/- warning: neg_strict_convex_on_iff -> neg_strictConvexOn_iff is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
+Case conversion may be inaccurate. Consider using '#align neg_strict_convex_on_iff neg_strictConvexOn_iffₓ'. -/
 /-- A function `-f` is strictly convex iff `f` is strictly concave. -/
 @[simp]
 theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn 𝕜 s f :=
@@ -943,57 +1501,135 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
     exact h hx hy hxy ha hb hab
 #align neg_strict_convex_on_iff neg_strictConvexOn_iff
 
+/- warning: neg_strict_concave_on_iff -> neg_strictConcaveOn_iff is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f)) (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f)
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f)) (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f)
+Case conversion may be inaccurate. Consider using '#align neg_strict_concave_on_iff neg_strictConcaveOn_iffₓ'. -/
 /-- A function `-f` is strictly concave iff `f` is strictly convex. -/
 @[simp]
 theorem neg_strictConcaveOn_iff : StrictConcaveOn 𝕜 s (-f) ↔ StrictConvexOn 𝕜 s f := by
   rw [← neg_strictConvexOn_iff, neg_neg f]
 #align neg_strict_concave_on_iff neg_strictConcaveOn_iff
 
+/- warning: concave_on.neg -> ConcaveOn.neg is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
+Case conversion may be inaccurate. Consider using '#align concave_on.neg ConcaveOn.negₓ'. -/
 alias neg_convexOn_iff ↔ _ ConcaveOn.neg
 #align concave_on.neg ConcaveOn.neg
 
+/- warning: convex_on.neg -> ConvexOn.neg is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
+Case conversion may be inaccurate. Consider using '#align convex_on.neg ConvexOn.negₓ'. -/
 alias neg_concaveOn_iff ↔ _ ConvexOn.neg
 #align convex_on.neg ConvexOn.neg
 
+/- warning: strict_concave_on.neg -> StrictConcaveOn.neg is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.neg StrictConcaveOn.negₓ'. -/
 alias neg_strictConvexOn_iff ↔ _ StrictConcaveOn.neg
 #align strict_concave_on.neg StrictConcaveOn.neg
 
+/- warning: strict_convex_on.neg -> StrictConvexOn.neg is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u3} (E -> β) (Pi.instNeg.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasNeg.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) f))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (Neg.neg.{max u2 u1} (E -> β) (Pi.instNeg.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => NegZeroClass.toNeg.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4))))))) f))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.neg StrictConvexOn.negₓ'. -/
 alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
 #align strict_convex_on.neg StrictConvexOn.neg
 
+/- warning: convex_on.sub -> ConvexOn.sub is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align convex_on.sub ConvexOn.subₓ'. -/
 theorem ConvexOn.sub (hf : ConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align convex_on.sub ConvexOn.sub
 
+/- warning: concave_on.sub -> ConcaveOn.sub is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align concave_on.sub ConcaveOn.subₓ'. -/
 theorem ConcaveOn.sub (hf : ConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align concave_on.sub ConcaveOn.sub
 
+/- warning: strict_convex_on.sub -> StrictConvexOn.sub is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub StrictConvexOn.subₓ'. -/
 theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_convex_on.sub StrictConvexOn.sub
 
+/- warning: strict_concave_on.sub -> StrictConcaveOn.sub is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub StrictConcaveOn.subₓ'. -/
 theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_concave_on.sub StrictConcaveOn.sub
 
+/- warning: convex_on.sub_strict_concave_on -> ConvexOn.sub_strictConcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOnₓ'. -/
 theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConvexOn hg.neg
 #align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOn
 
+/- warning: concave_on.sub_strict_convex_on -> ConcaveOn.sub_strictConvexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOnₓ'. -/
 theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConcaveOn hg.neg
 #align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOn
 
+/- warning: strict_convex_on.sub_concave_on -> StrictConvexOn.sub_concaveOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOnₓ'. -/
 theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_convexOn hg.neg
 #align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOn
 
+/- warning: strict_concave_on.sub_convex_on -> StrictConcaveOn.sub_convexOn is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u3} β] [_inst_5 : SMul.{u1, u2} 𝕜 E] [_inst_6 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} β _inst_4)) _inst_5 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4))))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u3, max u2 u3, max u2 u3} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u3} (E -> β) (Pi.instSub.{u2, u3} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toHasSub.{u3} β (AddGroup.toSubNegMonoid.{u3} β (AddCommGroup.toAddGroup.{u3} β (OrderedAddCommGroup.toAddCommGroup.{u3} β _inst_4)))))) f g))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommGroup.{u1} β] [_inst_5 : SMul.{u3, u2} 𝕜 E] [_inst_6 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4))] {s : Set.{u2} E} {f : E -> β} {g : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s g) -> (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 _inst_2 (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_5 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (NegZeroClass.toZero.{u1} β (SubNegZeroMonoid.toNegZeroClass.{u1} β (SubtractionMonoid.toSubNegZeroMonoid.{u1} β (SubtractionCommMonoid.toSubtractionMonoid.{u1} β (AddCommGroup.toDivisionAddCommMonoid.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u1} β _inst_4)) _inst_6)))) s (HSub.hSub.{max u2 u1, max u2 u1, max u2 u1} (E -> β) (E -> β) (E -> β) (instHSub.{max u2 u1} (E -> β) (Pi.instSub.{u2, u1} E (fun (ᾰ : E) => β) (fun (i : E) => SubNegMonoid.toSub.{u1} β (AddGroup.toSubNegMonoid.{u1} β (AddCommGroup.toAddGroup.{u1} β (OrderedAddCommGroup.toAddCommGroup.{u1} β _inst_4)))))) f g))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.sub_convex_on StrictConcaveOn.sub_convexOnₓ'. -/
 theorem StrictConcaveOn.sub_convexOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_concaveOn hg.neg
@@ -1008,6 +1644,12 @@ section AddCancelCommMonoid
 variable [AddCancelCommMonoid E] [OrderedAddCommMonoid β] [Module 𝕜 E] [SMul 𝕜 β] {s : Set E}
   {f : E → β}
 
+/- warning: strict_convex_on.translate_right -> StrictConvexOn.translate_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.translate_right StrictConvexOn.translate_rightₓ'. -/
 /-- Right translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
@@ -1019,18 +1661,36 @@ theorem StrictConvexOn.translate_right (hf : StrictConvexOn 𝕜 s f) (c : E) :
       ⟩
 #align strict_convex_on.translate_right StrictConvexOn.translate_right
 
+/- warning: strict_concave_on.translate_right -> StrictConcaveOn.translate_right is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z)))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.translate_right StrictConcaveOn.translate_rightₓ'. -/
 /-- Right translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_right (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => c + z) :=
   hf.dual.translate_right _
 #align strict_concave_on.translate_right StrictConcaveOn.translate_right
 
+/- warning: strict_convex_on.translate_left -> StrictConvexOn.translate_left is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConvexOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on.translate_left StrictConvexOn.translate_leftₓ'. -/
 /-- Left translation preserves strict convexity. -/
 theorem StrictConvexOn.translate_left (hf : StrictConvexOn 𝕜 s f) (c : E) :
     StrictConvexOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
   simpa only [add_comm] using hf.translate_right _
 #align strict_convex_on.translate_left StrictConvexOn.translate_left
 
+/- warning: strict_concave_on.translate_left -> StrictConcaveOn.translate_left is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : Module.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u1, u2, u3} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (OrderedSemiring.toSemiring.{u1} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u3} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedSemiring.{u3} 𝕜] [_inst_2 : AddCancelCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : Module.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, (StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 s f) -> (forall (c : E), StrictConcaveOn.{u3, u2, u1} 𝕜 E β _inst_1 (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u3, u2} 𝕜 E (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u3, u2} 𝕜 E (MonoidWithZero.toZero.{u3} 𝕜 (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1))) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u3, u2} 𝕜 E (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1)) (AddRightCancelMonoid.toZero.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2))) (Module.toMulActionWithZero.{u3, u2} 𝕜 E (OrderedSemiring.toSemiring.{u3} 𝕜 _inst_1) (AddCancelCommMonoid.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) _inst_5 (Set.preimage.{u2, u2} E E (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) c z) s) (Function.comp.{succ u2, succ u2, succ u1} E E β f (fun (z : E) => HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddRightCancelMonoid.toAddMonoid.{u2} E (AddCancelMonoid.toAddRightCancelMonoid.{u2} E (AddCancelCommMonoid.toAddCancelMonoid.{u2} E _inst_2)))))) z c)))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on.translate_left StrictConcaveOn.translate_leftₓ'. -/
 /-- Left translation preserves strict concavity. -/
 theorem StrictConcaveOn.translate_left (hf : StrictConcaveOn 𝕜 s f) (c : E) :
     StrictConcaveOn 𝕜 ((fun z => c + z) ⁻¹' s) (f ∘ fun z => z + c) := by
@@ -1053,6 +1713,12 @@ section Module
 
 variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f : E → β}
 
+/- warning: convex_on.smul -> ConvexOn.smul is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
+Case conversion may be inaccurate. Consider using '#align convex_on.smul ConvexOn.smulₓ'. -/
 theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : ConvexOn 𝕜 s fun x => c • f x :=
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
@@ -1062,6 +1728,12 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
       ⟩
 #align convex_on.smul ConvexOn.smul
 
+/- warning: concave_on.smul -> ConcaveOn.smul is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : OrderedCommSemiring.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : Module.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)] [_inst_6 : OrderedSMul.{u1, u3} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommMonoid.toPartialOrder.{u1} 𝕜 (OrderedSemiring.toOrderedAddCommMonoid.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} 𝕜 (Semiring.toNonAssocSemiring.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))))))))) c) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u1, u2, u3} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) s (fun (x : E) => SMul.smul.{u1, u3} 𝕜 β (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)))))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1))) (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 β (OrderedSemiring.toSemiring.{u1} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u1} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3) _inst_5)))) c (f x)))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : OrderedCommSemiring.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : Module.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3)] [_inst_6 : OrderedSMul.{u3, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_3 (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))] {s : Set.{u2} E} {f : E -> β} {c : 𝕜}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (OrderedSemiring.toPartialOrder.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))))) c) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s f) -> (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1) _inst_2 _inst_3 _inst_4 (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5)))) s (fun (x : E) => HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β (SMulZeroClass.toSMul.{u3, u1} 𝕜 β (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (SMulWithZero.toSMulZeroClass.{u3, u1} 𝕜 β (CommMonoidWithZero.toZero.{u3} 𝕜 (CommSemiring.toCommMonoidWithZero.{u3} 𝕜 (OrderedCommSemiring.toCommSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} 𝕜 β (Semiring.toMonoidWithZero.{u3} 𝕜 (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))) (Module.toMulActionWithZero.{u3, u1} 𝕜 β (OrderedSemiring.toSemiring.{u3} 𝕜 (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 _inst_1)) (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3) _inst_5))))) c (f x)))
+Case conversion may be inaccurate. Consider using '#align concave_on.smul ConcaveOn.smulₓ'. -/
 theorem ConcaveOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s fun x => c • f x :=
   hf.dual.smul hc
@@ -1085,6 +1757,12 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 F] [SMul 𝕜 β]
 
+/- warning: convex_on.comp_affine_map -> ConvexOn.comp_affineMap is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConvexOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConvexOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConvexOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+Case conversion may be inaccurate. Consider using '#align convex_on.comp_affine_map ConvexOn.comp_affineMapₓ'. -/
 /-- If a function is convex on `s`, it remains convex when precomposed by an affine map. -/
 theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConvexOn 𝕜 s f) :
     ConvexOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -1096,6 +1774,12 @@ theorem ConvexOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F
       ⟩
 #align convex_on.comp_affine_map ConvexOn.comp_affineMap
 
+/- warning: concave_on.comp_affine_map -> ConcaveOn.comp_affineMap is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {F : Type.{u3}} {β : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : AddCommGroup.{u3} F] [_inst_4 : OrderedAddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_6 : Module.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)] [_inst_7 : SMul.{u1, u4} 𝕜 β] {f : F -> β} (g : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) {s : Set.{u3} F}, (ConcaveOn.{u1, u3, u4} 𝕜 F β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_4 (SMulZeroClass.toHasSmul.{u1, u3} 𝕜 F (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (SMulWithZero.toSmulZeroClass.{u1, u3} 𝕜 F (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (MulActionWithZero.toSMulWithZero.{u1, u3} 𝕜 F (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u3} F (AddMonoid.toAddZeroClass.{u3} F (AddCommMonoid.toAddMonoid.{u3} F (AddCommGroup.toAddCommMonoid.{u3} F _inst_3)))) (Module.toMulActionWithZero.{u1, u3} 𝕜 F (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u3} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u1, u2, u4} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 E (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 E (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} 𝕜 E (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u2, u3} E F (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g) s) (Function.comp.{succ u2, succ u3, succ u4} E F β f (coeFn.{max (succ u2) (succ u3), max (succ u2) (succ u3)} (AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) (fun (_x : AffineMap.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) => E -> F) (AffineMap.hasCoeToFun.{u1, u2, u2, u3, u3} 𝕜 E E F F (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u3} F (AddCommGroup.toAddGroup.{u3} F _inst_3))) g)))
+but is expected to have type
+  forall {𝕜 : Type.{u4}} {E : Type.{u3}} {F : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} 𝕜] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : AddCommGroup.{u2} F] [_inst_4 : OrderedAddCommMonoid.{u1} β] [_inst_5 : Module.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_6 : Module.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3)] [_inst_7 : SMul.{u4, u1} 𝕜 β] {f : F -> β} (g : AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) {s : Set.{u2} F}, (ConcaveOn.{u4, u2, u1} 𝕜 F β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_4 (SMulZeroClass.toSMul.{u4, u2} 𝕜 F (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (SMulWithZero.toSMulZeroClass.{u4, u2} 𝕜 F (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (MulActionWithZero.toSMulWithZero.{u4, u2} 𝕜 F (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u2} F (SubNegZeroMonoid.toNegZeroClass.{u2} F (SubtractionMonoid.toSubNegZeroMonoid.{u2} F (SubtractionCommMonoid.toSubtractionMonoid.{u2} F (AddCommGroup.toDivisionAddCommMonoid.{u2} F _inst_3))))) (Module.toMulActionWithZero.{u4, u2} 𝕜 F (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} F _inst_3) _inst_6)))) _inst_7 s f) -> (ConcaveOn.{u4, u3, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u4} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (SMulZeroClass.toSMul.{u4, u3} 𝕜 E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} 𝕜 E (CommMonoidWithZero.toZero.{u4} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u4} 𝕜 (Semifield.toCommGroupWithZero.{u4} 𝕜 (LinearOrderedSemifield.toSemifield.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} 𝕜 E (Semiring.toMonoidWithZero.{u4} 𝕜 (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} 𝕜 E (StrictOrderedSemiring.toSemiring.{u4} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u4} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_5)))) _inst_7 (Set.preimage.{u3, u2} E F (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g) s) (Function.comp.{succ u3, succ u2, succ u1} E F β f (FunLike.coe.{max (succ u3) (succ u2), succ u3, succ u2} (AffineMap.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) E (fun (_x : E) => (fun (a._@.Mathlib.LinearAlgebra.AffineSpace.AffineMap._hyg.1004 : E) => F) _x) (AffineMap.funLike.{u4, u3, u3, u2, u2} 𝕜 E E F F (StrictOrderedRing.toRing.{u4} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u4} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u4} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u4} 𝕜 _inst_1)))) _inst_2 _inst_5 (addGroupIsAddTorsor.{u3} E (AddCommGroup.toAddGroup.{u3} E _inst_2)) _inst_3 _inst_6 (addGroupIsAddTorsor.{u2} F (AddCommGroup.toAddGroup.{u2} F _inst_3))) g)))
+Case conversion may be inaccurate. Consider using '#align concave_on.comp_affine_map ConcaveOn.comp_affineMapₓ'. -/
 /-- If a function is concave on `s`, it remains concave when precomposed by an affine map. -/
 theorem ConcaveOn.comp_affineMap {f : F → β} (g : E →ᵃ[𝕜] F) {s : Set F} (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 (g ⁻¹' s) (f ∘ g) :=
@@ -1120,6 +1804,12 @@ section SMul
 
 variable [SMul 𝕜 E] [SMul 𝕜 β] {s : Set E}
 
+/- warning: convex_on_iff_div -> convexOn_iff_div is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
+Case conversion may be inaccurate. Consider using '#align convex_on_iff_div convexOn_iff_divₓ'. -/
 theorem convexOn_iff_div {f : E → β} :
     ConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1143,6 +1833,12 @@ theorem convexOn_iff_div {f : E → β} :
       simpa [hab, zero_lt_one] using h hx hy ha hb⟩
 #align convex_on_iff_div convexOn_iff_div
 
+/- warning: concave_on_iff_div -> concaveOn_iff_div is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) -> (LE.le.{u3} β (Preorder.toLE.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (ConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LE.le.{u3} 𝕜 (Preorder.toLE.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
+Case conversion may be inaccurate. Consider using '#align concave_on_iff_div concaveOn_iff_divₓ'. -/
 theorem concaveOn_iff_div {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1159,6 +1855,12 @@ theorem concaveOn_iff_div {f : E → β} :
   @convexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
 #align concave_on_iff_div concaveOn_iff_div
 
+/- warning: strict_convex_on_iff_div -> strictConvexOn_iff_div is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConvexOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))))))))
+Case conversion may be inaccurate. Consider using '#align strict_convex_on_iff_div strictConvexOn_iff_divₓ'. -/
 theorem strictConvexOn_iff_div {f : E → β} :
     StrictConvexOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1183,6 +1885,12 @@ theorem strictConvexOn_iff_div {f : E → β} :
       simpa [hab, zero_lt_one] using h hx hy hxy ha hb⟩
 #align strict_convex_on_iff_div strictConvexOn_iff_div
 
+/- warning: strict_concave_on_iff_div -> strictConcaveOn_iff_div is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {E : Type.{u2}} {β : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} β] [_inst_4 : SMul.{u1, u2} 𝕜 E] [_inst_5 : SMul.{u1, u3} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u1, u2, u3} 𝕜 E β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u1, u2} 𝕜 E (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x s) -> (forall {{y : E}}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) a) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) (OfNat.ofNat.{u1} 𝕜 0 (OfNat.mk.{u1} 𝕜 0 (Zero.zero.{u1} 𝕜 (MulZeroClass.toHasZero.{u1} 𝕜 (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u1} 𝕜 (Ring.toNonAssocRing.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))))))))) b) -> (LT.lt.{u3} β (Preorder.toLT.{u3} β (PartialOrder.toPreorder.{u3} β (OrderedAddCommMonoid.toPartialOrder.{u3} β _inst_3))) (HAdd.hAdd.{u3, u3, u3} β β β (instHAdd.{u3} β (AddZeroClass.toHasAdd.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β (OrderedAddCommMonoid.toAddCommMonoid.{u3} β _inst_3))))) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f x)) (SMul.smul.{u1, u3} 𝕜 β _inst_5 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toHasAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) a (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) x) (SMul.smul.{u1, u2} 𝕜 E _inst_4 (HDiv.hDiv.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHDiv.{u1} 𝕜 (DivInvMonoid.toHasDiv.{u1} 𝕜 (DivisionRing.toDivInvMonoid.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) b (HAdd.hAdd.{u1, u1, u1} 𝕜 𝕜 𝕜 (instHAdd.{u1} 𝕜 (Distrib.toHasAdd.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) a b)) y))))))))
+but is expected to have type
+  forall {𝕜 : Type.{u3}} {E : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} 𝕜] [_inst_2 : AddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u1} β] [_inst_4 : SMul.{u3, u2} 𝕜 E] [_inst_5 : SMul.{u3, u1} 𝕜 β] {s : Set.{u2} E} {f : E -> β}, Iff (StrictConcaveOn.{u3, u2, u1} 𝕜 E β (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_3 _inst_4 _inst_5 s f) (And (Convex.{u3, u2} 𝕜 E (OrderedCommSemiring.toOrderedSemiring.{u3} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))) _inst_2 _inst_4 s) (forall {{x : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x s) -> (forall {{y : E}}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) -> (Ne.{succ u2} E x y) -> (forall {{a : 𝕜}} {{b : 𝕜}}, (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) a) -> (LT.lt.{u3} 𝕜 (Preorder.toLT.{u3} 𝕜 (PartialOrder.toPreorder.{u3} 𝕜 (StrictOrderedRing.toPartialOrder.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))) (OfNat.ofNat.{u3} 𝕜 0 (Zero.toOfNat0.{u3} 𝕜 (CommMonoidWithZero.toZero.{u3} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u3} 𝕜 (Semifield.toCommGroupWithZero.{u3} 𝕜 (LinearOrderedSemifield.toSemifield.{u3} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u3} 𝕜 _inst_1))))))) b) -> (LT.lt.{u1} β (Preorder.toLT.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedAddCommMonoid.toPartialOrder.{u1} β _inst_3))) (HAdd.hAdd.{u1, u1, u1} β β β (instHAdd.{u1} β (AddZeroClass.toAdd.{u1} β (AddMonoid.toAddZeroClass.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β _inst_3))))) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f x)) (HSMul.hSMul.{u3, u1, u1} 𝕜 β β (instHSMul.{u3, u1} 𝕜 β _inst_5) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) (f y))) (f (HAdd.hAdd.{u2, u2, u2} E E E (instHAdd.{u2} E (AddZeroClass.toAdd.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E _inst_2)))) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) a (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) x) (HSMul.hSMul.{u3, u2, u2} 𝕜 E E (instHSMul.{u3, u2} 𝕜 E _inst_4) (HDiv.hDiv.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHDiv.{u3} 𝕜 (LinearOrderedField.toDiv.{u3} 𝕜 _inst_1)) b (HAdd.hAdd.{u3, u3, u3} 𝕜 𝕜 𝕜 (instHAdd.{u3} 𝕜 (Distrib.toAdd.{u3} 𝕜 (NonUnitalNonAssocSemiring.toDistrib.{u3} 𝕜 (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} 𝕜 (NonAssocRing.toNonUnitalNonAssocRing.{u3} 𝕜 (Ring.toNonAssocRing.{u3} 𝕜 (StrictOrderedRing.toRing.{u3} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u3} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u3} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u3} 𝕜 _inst_1)))))))))) a b)) y))))))))
+Case conversion may be inaccurate. Consider using '#align strict_concave_on_iff_div strictConcaveOn_iff_divₓ'. -/
 theorem strictConcaveOn_iff_div {f : E → β} :
     StrictConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -1210,23 +1918,47 @@ section
 variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
   {x y z : 𝕜} {s : Set 𝕜} {f : 𝕜 → β}
 
+/- warning: convex_on.le_right_of_left_le'' -> ConvexOn.le_right_of_left_le'' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''ₓ'. -/
 theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y)
     (hyz : y ≤ z) (h : f x ≤ f y) : f y ≤ f z :=
   hyz.eq_or_lt.elim (fun hyz => (congr_arg f hyz).le) fun hyz =>
     hf.le_right_of_left_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_right_of_left_le'' ConvexOn.le_right_of_left_le''
 
+/- warning: convex_on.le_left_of_right_le'' -> ConvexOn.le_left_of_right_le'' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConvexOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x))
+Case conversion may be inaccurate. Consider using '#align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''ₓ'. -/
 theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x ≤ y)
     (hyz : y < z) (h : f z ≤ f y) : f y ≤ f x :=
   hxy.eq_or_lt.elim (fun hxy => (congr_arg f hxy).ge) fun hxy =>
     hf.le_left_of_right_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''
 
+/- warning: concave_on.right_le_of_le_left'' -> ConcaveOn.right_le_of_le_left'' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f x)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f z) (f y))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f x)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f z) (f y))
+Case conversion may be inaccurate. Consider using '#align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''ₓ'. -/
 theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x < y) (hyz : y ≤ z) (h : f y ≤ f x) : f z ≤ f y :=
   hf.dual.le_right_of_left_le'' hx hz hxy hyz h
 #align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''
 
+/- warning: concave_on.left_le_of_le_right'' -> ConcaveOn.left_le_of_le_right'' is a dubious translation:
+lean 3 declaration is
+  forall {𝕜 : Type.{u1}} {β : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u2} β] [_inst_3 : Module.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))] [_inst_4 : OrderedSMul.{u1, u2} 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedAddCommMonoid.toAddCommMonoid.{u2} β (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u1} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u1, u1, u2} 𝕜 𝕜 β (StrictOrderedSemiring.toOrderedSemiring.{u1} 𝕜 (StrictOrderedRing.toStrictOrderedSemiring.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} 𝕜 (OrderedAddCommGroup.toAddCommGroup.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1)))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) (Mul.toSMul.{u1} 𝕜 (Distrib.toHasMul.{u1} 𝕜 (Ring.toDistrib.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))) (SMulZeroClass.toHasSmul.{u1, u2} 𝕜 β (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} 𝕜 β (MulZeroClass.toHasZero.{u1} 𝕜 (MulZeroOneClass.toMulZeroClass.{u1} 𝕜 (MonoidWithZero.toMulZeroOneClass.{u1} 𝕜 (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} 𝕜 β (Semiring.toMonoidWithZero.{u1} 𝕜 (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1))))) (AddZeroClass.toHasZero.{u2} β (AddMonoid.toAddZeroClass.{u2} β (AddCommMonoid.toAddMonoid.{u2} β (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2))))) (Module.toMulActionWithZero.{u1, u2} 𝕜 β (Ring.toSemiring.{u1} 𝕜 (DivisionRing.toRing.{u1} 𝕜 (Field.toDivisionRing.{u1} 𝕜 (LinearOrderedField.toField.{u1} 𝕜 _inst_1)))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)) _inst_3)))) s f) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) x s) -> (Membership.Mem.{u1, u1} 𝕜 (Set.{u1} 𝕜) (Set.hasMem.{u1} 𝕜) z s) -> (LE.le.{u1} 𝕜 (Preorder.toLE.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) x y) -> (LT.lt.{u1} 𝕜 (Preorder.toLT.{u1} 𝕜 (PartialOrder.toPreorder.{u1} 𝕜 (OrderedAddCommGroup.toPartialOrder.{u1} 𝕜 (StrictOrderedRing.toOrderedAddCommGroup.{u1} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u1} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u1} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u1} 𝕜 _inst_1))))))) y z) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f y) (f z)) -> (LE.le.{u2} β (Preorder.toLE.{u2} β (PartialOrder.toPreorder.{u2} β (OrderedCancelAddCommMonoid.toPartialOrder.{u2} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} β _inst_2)))) (f x) (f y))
+but is expected to have type
+  forall {𝕜 : Type.{u2}} {β : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} 𝕜] [_inst_2 : LinearOrderedCancelAddCommMonoid.{u1} β] [_inst_3 : Module.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))] [_inst_4 : OrderedSMul.{u2, u1} 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddMonoid.toZero.{u1} β (AddCommMonoid.toAddMonoid.{u1} β (OrderedAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3))] {x : 𝕜} {y : 𝕜} {z : 𝕜} {s : Set.{u2} 𝕜} {f : 𝕜 -> β}, (ConcaveOn.{u2, u2, u1} 𝕜 𝕜 β (OrderedCommSemiring.toOrderedSemiring.{u2} 𝕜 (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} 𝕜 (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} β _inst_2)) (Algebra.toSMul.{u2, u2} 𝕜 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))) (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (Algebra.id.{u2} 𝕜 (StrictOrderedCommSemiring.toCommSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (SMulZeroClass.toSMul.{u2, u1} 𝕜 β (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u1} 𝕜 β (CommMonoidWithZero.toZero.{u2} 𝕜 (CommGroupWithZero.toCommMonoidWithZero.{u2} 𝕜 (Semifield.toCommGroupWithZero.{u2} 𝕜 (LinearOrderedSemifield.toSemifield.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u1} 𝕜 β (Semiring.toMonoidWithZero.{u2} 𝕜 (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1)))))) (AddRightCancelMonoid.toZero.{u1} β (AddCancelMonoid.toAddRightCancelMonoid.{u1} β (AddCancelCommMonoid.toAddCancelMonoid.{u1} β (OrderedCancelAddCommMonoid.toCancelAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2))))) (Module.toMulActionWithZero.{u2, u1} 𝕜 β (StrictOrderedSemiring.toSemiring.{u2} 𝕜 (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} 𝕜 (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} 𝕜 (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} 𝕜 (LinearOrderedField.toLinearOrderedSemifield.{u2} 𝕜 _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)) _inst_3)))) s f) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) x s) -> (Membership.mem.{u2, u2} 𝕜 (Set.{u2} 𝕜) (Set.instMembershipSet.{u2} 𝕜) z s) -> (LE.le.{u2} 𝕜 (Preorder.toLE.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) x y) -> (LT.lt.{u2} 𝕜 (Preorder.toLT.{u2} 𝕜 (PartialOrder.toPreorder.{u2} 𝕜 (StrictOrderedRing.toPartialOrder.{u2} 𝕜 (LinearOrderedRing.toStrictOrderedRing.{u2} 𝕜 (LinearOrderedCommRing.toLinearOrderedRing.{u2} 𝕜 (LinearOrderedField.toLinearOrderedCommRing.{u2} 𝕜 _inst_1)))))) y z) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f y) (f z)) -> (LE.le.{u1} β (Preorder.toLE.{u1} β (PartialOrder.toPreorder.{u1} β (OrderedCancelAddCommMonoid.toPartialOrder.{u1} β (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} β _inst_2)))) (f x) (f y))
+Case conversion may be inaccurate. Consider using '#align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''ₓ'. -/
 theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x ≤ y) (hyz : y < z) (h : f y ≤ f z) : f x ≤ f y :=
   hf.dual.le_left_of_right_le'' hx hz hxy hyz h
Diff
@@ -256,7 +256,7 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
     calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha hb hab
       _ ≤ a • r + b • r :=
-        add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb)
+        (add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb))
       _ = r := Convex.combo_self hab r
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
@@ -421,7 +421,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
       calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx.1 hy.1 hxy ha hb hab
         _ ≤ a • r + b • r :=
-          add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le
+          (add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le)
         _ = r := Convex.combo_self hab r
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
@@ -602,8 +602,8 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha.le hb.le hab
         _ < a • r + b • r :=
-          add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hx.2 ha)
-            (smul_le_smul_of_nonneg hy.2.le hb.le)
+          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hx.2 ha)
+            (smul_le_smul_of_nonneg hy.2.le hb.le))
         _ = r := Convex.combo_self hab _
         ⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
@@ -705,8 +705,8 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
     _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb)
+      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha)
+        (smul_le_smul_of_nonneg (le_max_right _ _) hb))
     _ = max (f x) (f y) := Convex.combo_self hab _
     
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
@@ -738,8 +738,8 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
   calc
     f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
     _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb.le)
+      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
+        (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
     _ = max (f x) (f y) := Convex.combo_self hab _
     
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
@@ -785,7 +785,7 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb hab
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb)
+          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
         
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
@@ -849,7 +849,7 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb.le hab
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb)
+          (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
         
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -235,7 +235,10 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
   ⟨hf.1 hx.1 hy.1 ha hb hab,
     calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha hb hab
-      _ ≤ a • r + b • r := by gcongr; exact hx.2; exact hy.2
+      _ ≤ a • r + b • r := by
+        gcongr
+        · exact hx.2
+        · exact hy.2
       _ = r := Convex.combo_self hab r
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
@@ -386,7 +389,10 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
       calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx.1 hy.1 hxy ha hb hab
-        _ ≤ a • r + b • r := by gcongr; exact hx.2.le; exact hy.2.le
+        _ ≤ a • r + b • r := by
+          gcongr
+          · exact hx.2.le
+          · exact hy.2.le
         _ = r := Convex.combo_self hab r
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
chore: scope open Classical (#11199)

We remove all but one open Classicals, instead preferring to use open scoped Classical. The only real side-effect this led to is moving a couple declarations to use Exists.choose instead of Classical.choose.

The first few commits are explicitly labelled regex replaces for ease of review.

Diff
@@ -29,7 +29,8 @@ a convex set.
 -/
 
 
-open LinearMap Set BigOperators Classical Convex Pointwise
+open scoped Classical
+open LinearMap Set BigOperators Convex Pointwise
 
 variable {𝕜 E F α β ι : Type*}
 
chore: remove terminal, terminal refines (#10762)

I replaced a few "terminal" refine/refine's with exact.

The strategy was very simple-minded: essentially any refine whose following line had smaller indentation got replaced by exact and then I cleaned up the mess.

This PR certainly leaves some further terminal refines, but maybe the current change is beneficial.

Diff
@@ -417,7 +417,7 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   wlog h : x < y
   · rw [add_comm (a • x), add_comm (a • f x)]
     rw [add_comm] at hab
-    refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
+    exact this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
 
@@ -447,7 +447,7 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   wlog h : x < y
   · rw [add_comm (a • x), add_comm (a • f x)]
     rw [add_comm] at hab
-    refine' this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
+    exact this hs hf y hy x hx hxy.symm b a hb ha hab (hxy.lt_or_lt.resolve_left h)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
 
chore(*): replace $ with <| (#9319)

See Zulip thread for the discussion.

Diff
@@ -1142,10 +1142,10 @@ lemma StrictConvexOn.eq_of_isMinOn (hf : StrictConvexOn 𝕜 s f) (hfx : IsMinOn
     (hfy : IsMinOn f s y) (hx : x ∈ s) (hy : y ∈ s) : x = y := by
   by_contra hxy
   let z := (2 : 𝕜)⁻¹ • x + (2 : 𝕜)⁻¹ • y
-  have hz : z ∈ s := hf.1 hx hy (by norm_num) (by norm_num) $ by norm_num
+  have hz : z ∈ s := hf.1 hx hy (by norm_num) (by norm_num) <| by norm_num
   refine lt_irrefl (f z) ?_
   calc
-    f z < _ := hf.2 hx hy hxy (by norm_num) (by norm_num) $ by norm_num
+    f z < _ := hf.2 hx hy hxy (by norm_num) (by norm_num) <| by norm_num
     _ ≤ (2 : 𝕜)⁻¹ • f z + (2 : 𝕜)⁻¹ • f z := by gcongr; exacts [hfx hz, hfy hz]
     _ = f z := by rw [← _root_.add_smul]; norm_num
 
refactor: Deduplicate monotonicity of lemmas (#9179)

Remove the duplicates introduced in #8869 by sorting the lemmas in Algebra.Order.SMul into three files:

  • Algebra.Order.Module.Defs for the order isomorphism induced by scalar multiplication by a positivity element
  • Algebra.Order.Module.Pointwise for the order properties of scalar multiplication of sets. This file is new. I credit myself for https://github.com/leanprover-community/mathlib/pull/9078
  • Algebra.Order.Module.OrderedSMul: The material about OrderedSMul per se. Inherits the copyright header from Algebra.Order.SMul. This file should eventually be deleted.

I move each #align to the correct file. On top of that, I delete unused redundant OrderedSMul instances (they were useful in Lean 3, but not anymore) and eq_of_smul_eq_smul_of_pos_of_le/eq_of_smul_eq_smul_of_neg_of_le since those lemmas are weird and unused.

Diff
@@ -547,8 +547,8 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       calc
         f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha.le hb.le hab
         _ < a • r + b • r :=
-          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hx.2 ha)
-            (smul_le_smul_of_nonneg hy.2.le hb.le))
+          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos_left hx.2 ha)
+            (smul_le_smul_of_nonneg_left hy.2.le hb.le))
         _ = r := Convex.combo_self hab _⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
@@ -563,8 +563,8 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
   refine' ⟨hf.1 hp.1 hq.1 ha.le hb.le hab, _⟩
   calc
     f (a • p.1 + b • q.1) ≤ a • f p.1 + b • f q.1 := hf.2 hp.1 hq.1 ha.le hb.le hab
-    _ < a • p.2 + b • q.2 :=
-      add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
+    _ < a • p.2 + b • q.2 := add_lt_add_of_lt_of_le
+       (smul_lt_smul_of_pos_left hp.2 ha) (smul_le_smul_of_nonneg_left hq.2 hb.le)
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
@@ -709,13 +709,12 @@ variable [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g :
 theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f y ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f x :=
-  le_of_not_lt fun h =>
-    lt_irrefl (f (a • x + b • y)) <|
-      calc
-        f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb hab
-        _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
-        _ = f (a • x + b • y) := Convex.combo_self hab _
+  le_of_not_lt fun h ↦ lt_irrefl (f (a • x + b • y)) <|
+    calc
+      f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb hab
+      _ < a • f (a • x + b • y) + b • f (a • x + b • y) := add_lt_add_of_lt_of_le
+          (smul_lt_smul_of_pos_left h ha) (smul_le_smul_of_nonneg_left hfy hb)
+      _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -770,13 +769,12 @@ the writing, we decided the resulting lemmas wouldn't be useful. Feel free to re
 theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f y < f (a • x + b • y)) :
     f (a • x + b • y) < f x :=
-  not_le.1 fun h =>
-    lt_irrefl (f (a • x + b • y)) <|
-      calc
-        f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb.le hab
-        _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
-          (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
-        _ = f (a • x + b • y) := Convex.combo_self hab _
+  not_le.1 fun h ↦ lt_irrefl (f (a • x + b • y)) <|
+    calc
+      f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha.le hb.le hab
+      _ < a • f (a • x + b • y) + b • f (a • x + b • y) := add_lt_add_of_le_of_lt
+          (smul_le_smul_of_nonneg_left h ha.le) (smul_lt_smul_of_pos_left hfy hb)
+      _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
@@ -980,7 +978,7 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
   ⟨hf.1, fun x hx y hy a b ha hb hab =>
     calc
       c • f (a • x + b • y) ≤ c • (a • f x + b • f y) :=
-        smul_le_smul_of_nonneg (hf.2 hx hy ha hb hab) hc
+        smul_le_smul_of_nonneg_left (hf.2 hx hy ha hb hab) hc
       _ = a • c • f x + b • c • f y := by rw [smul_add, smul_comm c, smul_comm c]⟩
 #align convex_on.smul ConvexOn.smul
 
chore: Remove nonterminal simp at (#7795)

Removes nonterminal uses of simp at. Replaces most of these with instances of simp? ... says.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Mario Carneiro <di.gama@gmail.com>

Diff
@@ -834,7 +834,9 @@ theorem neg_convexOn_iff : ConvexOn 𝕜 s (-f) ↔ ConcaveOn 𝕜 s f := by
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
-    simp [neg_apply, neg_le, add_comm] at h
+    simp? [neg_apply, neg_le, add_comm] at h says
+      simp only [Pi.neg_apply, smul_neg, le_add_neg_iff_add_le, add_comm,
+        add_neg_le_iff_le_add] at h
     exact h hx hy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy a b ha hb hab => _⟩
@@ -855,7 +857,8 @@ theorem neg_strictConvexOn_iff : StrictConvexOn 𝕜 s (-f) ↔ StrictConcaveOn
   constructor
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
-    simp [neg_apply, neg_lt, add_comm] at h
+    simp only [ne_eq, Pi.neg_apply, smul_neg, lt_add_neg_iff_add_lt, add_comm,
+      add_neg_lt_iff_lt_add] at h
     exact h hx hy hxy ha hb hab
   · rintro ⟨hconv, h⟩
     refine' ⟨hconv, fun x hx y hy hxy a b ha hb hab => _⟩
refactor: replace some [@foo](https://github.com/foo) _ _ _ _ _ ... by named arguments (#8702)

Using Lean4's named arguments, we manage to remove a few hard-to-read explicit function calls [@foo](https://github.com/foo) _ _ _ _ _ ... which used to be necessary in Lean3.

Occasionally, this results in slightly longer code. The benefit of named arguments is readability, as well as to reduce the brittleness of the code when the argument order is changed.

Co-authored-by: Michael Rothgang <rothgami@math.hu-berlin.de>

Diff
@@ -209,7 +209,7 @@ theorem convexOn_const (c : β) (hs : Convex 𝕜 s) : ConvexOn 𝕜 s fun _ : E
 #align convex_on_const convexOn_const
 
 theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun _ => c :=
-  @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
+  convexOn_const (β := βᵒᵈ) _ hs
 #align concave_on_const concaveOn_const
 
 theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2 }) :
@@ -220,7 +220,7 @@ theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s 
 
 theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 }) :
     ConcaveOn 𝕜 s f :=
-  @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
+  convexOn_of_convex_epigraph (β := βᵒᵈ) h
 #align concave_on_of_convex_hypograph concaveOn_of_convex_hypograph
 
 end Module
@@ -264,7 +264,7 @@ theorem convexOn_iff_convex_epigraph :
 
 theorem concaveOn_iff_convex_hypograph :
     ConcaveOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
-  @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
+  convexOn_iff_convex_epigraph (β := βᵒᵈ)
 #align concave_on_iff_convex_hypograph concaveOn_iff_convex_hypograph
 
 end OrderedSMul
@@ -329,7 +329,7 @@ theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 →
         a • f x + b • f y ≤ f (a • x + b • y) :=
-  @convexOn_iff_forall_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
+  convexOn_iff_forall_pos (β := βᵒᵈ)
 #align concave_on_iff_forall_pos concaveOn_iff_forall_pos
 
 theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
@@ -351,7 +351,7 @@ theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
       Convex 𝕜 s ∧
         s.Pairwise fun x y =>
           ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 → a • f x + b • f y ≤ f (a • x + b • y) :=
-  @convexOn_iff_pairwise_pos 𝕜 E βᵒᵈ _ _ _ _ _ _ _
+  convexOn_iff_pairwise_pos (β := βᵒᵈ)
 #align concave_on_iff_pairwise_pos concaveOn_iff_pairwise_pos
 
 /-- A linear map is convex. -/
@@ -429,7 +429,7 @@ theorem LinearOrder.concaveOn_of_lt (hs : Convex 𝕜 s)
     (hf : ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → x < y → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 →
       a • f x + b • f y ≤ f (a • x + b • y)) :
     ConcaveOn 𝕜 s f :=
-  @LinearOrder.convexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ s f hs hf
+  LinearOrder.convexOn_of_lt (β := βᵒᵈ) hs hf
 #align linear_order.concave_on_of_lt LinearOrder.concaveOn_of_lt
 
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
@@ -459,7 +459,7 @@ theorem LinearOrder.strictConcaveOn_of_lt (hs : Convex 𝕜 s)
     (hf : ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → x < y → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 →
       a • f x + b • f y < f (a • x + b • y)) :
     StrictConcaveOn 𝕜 s f :=
-  @LinearOrder.strictConvexOn_of_lt _ _ βᵒᵈ _ _ _ _ _ _ _ _ hs hf
+  LinearOrder.strictConvexOn_of_lt (β := βᵒᵈ) hs hf
 #align linear_order.strict_concave_on_of_lt LinearOrder.strictConcaveOn_of_lt
 
 end LinearOrder
@@ -1054,7 +1054,7 @@ theorem concaveOn_iff_div {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 ≤ a → 0 ≤ b → 0 < a + b →
         (a / (a + b)) • f x + (b / (a + b)) • f y ≤ f ((a / (a + b)) • x + (b / (a + b)) • y) :=
-  @convexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
+  convexOn_iff_div (β := βᵒᵈ)
 #align concave_on_iff_div concaveOn_iff_div
 
 theorem strictConvexOn_iff_div {f : E → β} :
@@ -1074,7 +1074,7 @@ theorem strictConcaveOn_iff_div {f : E → β} :
     StrictConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → x ≠ y → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b →
         (a / (a + b)) • f x + (b / (a + b)) • f y < f ((a / (a + b)) • x + (b / (a + b)) • y) :=
-  @strictConvexOn_iff_div _ _ βᵒᵈ _ _ _ _ _ _ _
+  strictConvexOn_iff_div (β := βᵒᵈ)
 #align strict_concave_on_iff_div strictConcaveOn_iff_div
 
 end SMul
chore: space after (#8178)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -1093,9 +1093,9 @@ theorem OrderIso.strictConvexOn_symm (f : α ≃o β) (hf : StrictConcaveOn 𝕜
   refine ⟨convex_univ, fun x _ y _ hxy a b ha hb hab => ?_⟩
   obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
   obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
-  have hxy' : x' ≠ y' := by rw [←f.injective.ne_iff, ←hx'', ←hy'']; exact hxy
+  have hxy' : x' ≠ y' := by rw [← f.injective.ne_iff, ← hx'', ← hy'']; exact hxy
   simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
-  rw [←f.lt_iff_lt, OrderIso.apply_symm_apply]
+  rw [← f.lt_iff_lt, OrderIso.apply_symm_apply]
   exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) hxy' ha hb hab
 
 theorem OrderIso.convexOn_symm (f : α ≃o β) (hf : ConcaveOn 𝕜 univ f) :
@@ -1104,7 +1104,7 @@ theorem OrderIso.convexOn_symm (f : α ≃o β) (hf : ConcaveOn 𝕜 univ f) :
   obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
   obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
   simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
-  rw [←f.le_iff_le, OrderIso.apply_symm_apply]
+  rw [← f.le_iff_le, OrderIso.apply_symm_apply]
   exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) ha hb hab
 
 theorem OrderIso.strictConcaveOn_symm (f : α ≃o β) (hf : StrictConvexOn 𝕜 univ f) :
@@ -1112,9 +1112,9 @@ theorem OrderIso.strictConcaveOn_symm (f : α ≃o β) (hf : StrictConvexOn 𝕜
   refine ⟨convex_univ, fun x _ y _ hxy a b ha hb hab => ?_⟩
   obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
   obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
-  have hxy' : x' ≠ y' := by rw [←f.injective.ne_iff, ←hx'', ←hy'']; exact hxy
+  have hxy' : x' ≠ y' := by rw [← f.injective.ne_iff, ← hx'', ← hy'']; exact hxy
   simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
-  rw [←f.lt_iff_lt, OrderIso.apply_symm_apply]
+  rw [← f.lt_iff_lt, OrderIso.apply_symm_apply]
   exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) hxy' ha hb hab
 
 theorem OrderIso.concaveOn_symm (f : α ≃o β) (hf : ConvexOn 𝕜 univ f) :
@@ -1123,7 +1123,7 @@ theorem OrderIso.concaveOn_symm (f : α ≃o β) (hf : ConvexOn 𝕜 univ f) :
   obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
   obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
   simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
-  rw [←f.le_iff_le, OrderIso.apply_symm_apply]
+  rw [← f.le_iff_le, OrderIso.apply_symm_apply]
   exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) ha hb hab
 
 end OrderIso
@@ -1146,7 +1146,7 @@ lemma StrictConvexOn.eq_of_isMinOn (hf : StrictConvexOn 𝕜 s f) (hfx : IsMinOn
   calc
     f z < _ := hf.2 hx hy hxy (by norm_num) (by norm_num) $ by norm_num
     _ ≤ (2 : 𝕜)⁻¹ • f z + (2 : 𝕜)⁻¹ • f z := by gcongr; exacts [hfx hz, hfy hz]
-    _ = f z := by rw [←_root_.add_smul]; norm_num
+    _ = f z := by rw [← _root_.add_smul]; norm_num
 
 /-- A strictly concave function admits at most one global maximum. -/
 lemma StrictConcaveOn.eq_of_isMaxOn (hf : StrictConcaveOn 𝕜 s f) (hfx : IsMaxOn f s x)
feat: Strictly convex functions have unique minima (#8182)
Diff
@@ -4,6 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, François Dupuis
 -/
 import Mathlib.Analysis.Convex.Basic
+import Mathlib.Order.Filter.Extr
 import Mathlib.Tactic.GCongr
 
 #align_import analysis.convex.function from "leanprover-community/mathlib"@"92ca63f0fb391a9ca5f22d2409a6080e786d99f7"
@@ -1127,9 +1128,35 @@ theorem OrderIso.concaveOn_symm (f : α ≃o β) (hf : ConvexOn 𝕜 univ f) :
 
 end OrderIso
 
-section
 
-variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
+section LinearOrderedField
+variable [LinearOrderedField 𝕜]
+
+section OrderedAddCommMonoid
+variable [OrderedAddCommMonoid β] [AddCommMonoid E] [SMul 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β]
+  {f : E → β} {s : Set E} {x y : E}
+
+/-- A strictly convex function admits at most one global minimum. -/
+lemma StrictConvexOn.eq_of_isMinOn (hf : StrictConvexOn 𝕜 s f) (hfx : IsMinOn f s x)
+    (hfy : IsMinOn f s y) (hx : x ∈ s) (hy : y ∈ s) : x = y := by
+  by_contra hxy
+  let z := (2 : 𝕜)⁻¹ • x + (2 : 𝕜)⁻¹ • y
+  have hz : z ∈ s := hf.1 hx hy (by norm_num) (by norm_num) $ by norm_num
+  refine lt_irrefl (f z) ?_
+  calc
+    f z < _ := hf.2 hx hy hxy (by norm_num) (by norm_num) $ by norm_num
+    _ ≤ (2 : 𝕜)⁻¹ • f z + (2 : 𝕜)⁻¹ • f z := by gcongr; exacts [hfx hz, hfy hz]
+    _ = f z := by rw [←_root_.add_smul]; norm_num
+
+/-- A strictly concave function admits at most one global maximum. -/
+lemma StrictConcaveOn.eq_of_isMaxOn (hf : StrictConcaveOn 𝕜 s f) (hfx : IsMaxOn f s x)
+    (hfy : IsMaxOn f s y) (hx : x ∈ s) (hy : y ∈ s) : x = y :=
+  hf.dual.eq_of_isMinOn hfx hfy hx hy
+
+end OrderedAddCommMonoid
+
+section LinearOrderedCancelAddCommMonoid
+variable [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
   {x y z : 𝕜} {s : Set 𝕜} {f : 𝕜 → β}
 
 theorem ConvexOn.le_right_of_left_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s) (hxy : x < y)
@@ -1154,4 +1181,5 @@ theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s)
   hf.dual.le_left_of_right_le'' hx hz hxy hyz h
 #align concave_on.left_le_of_le_right'' ConcaveOn.left_le_of_le_right''
 
-end
+end LinearOrderedCancelAddCommMonoid
+end LinearOrderedField
feat: patch for new alias command (#6172)
Diff
@@ -869,16 +869,16 @@ theorem neg_strictConcaveOn_iff : StrictConcaveOn 𝕜 s (-f) ↔ StrictConvexOn
   rw [← neg_strictConvexOn_iff, neg_neg f]
 #align neg_strict_concave_on_iff neg_strictConcaveOn_iff
 
-alias neg_convexOn_iff ↔ _ ConcaveOn.neg
+alias ⟨_, ConcaveOn.neg⟩ := neg_convexOn_iff
 #align concave_on.neg ConcaveOn.neg
 
-alias neg_concaveOn_iff ↔ _ ConvexOn.neg
+alias ⟨_, ConvexOn.neg⟩ := neg_concaveOn_iff
 #align convex_on.neg ConvexOn.neg
 
-alias neg_strictConvexOn_iff ↔ _ StrictConcaveOn.neg
+alias ⟨_, StrictConcaveOn.neg⟩ := neg_strictConvexOn_iff
 #align strict_concave_on.neg StrictConcaveOn.neg
 
-alias neg_strictConcaveOn_iff ↔ _ StrictConvexOn.neg
+alias ⟨_, StrictConvexOn.neg⟩ := neg_strictConcaveOn_iff
 #align strict_convex_on.neg StrictConvexOn.neg
 
 theorem ConvexOn.sub (hf : ConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConvexOn 𝕜 s (f - g) :=
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
@@ -30,7 +30,7 @@ a convex set.
 
 open LinearMap Set BigOperators Classical Convex Pointwise
 
-variable {𝕜 E F α β ι : Type _}
+variable {𝕜 E F α β ι : Type*}
 
 section OrderedSemiring
 
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,15 +2,12 @@
 Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, François Dupuis
-
-! This file was ported from Lean 3 source module analysis.convex.function
-! leanprover-community/mathlib commit 92ca63f0fb391a9ca5f22d2409a6080e786d99f7
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Basic
 import Mathlib.Tactic.GCongr
 
+#align_import analysis.convex.function from "leanprover-community/mathlib"@"92ca63f0fb391a9ca5f22d2409a6080e786d99f7"
+
 /-!
 # Convex and concave functions
 
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊢ -> some_tactic at h ⊢
  • some_tactic at h -> some_tactic at h
Diff
@@ -729,7 +729,7 @@ theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x ≤ f (a • x + b • y)) :
     f (a • x + b • y) ≤ f y := by
-  rw [add_comm] at hab hfx⊢
+  rw [add_comm] at hab hfx ⊢
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
@@ -790,7 +790,7 @@ theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx :
 theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f x < f (a • x + b • y)) :
     f (a • x + b • y) < f y := by
-  rw [add_comm] at hab hfx⊢
+  rw [add_comm] at hab hfx ⊢
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
feat: prove concavity of x ↦ x^p for p ∈ (0,1) (#4916)

This PR prove the (strict) concavity of x ↦ x^p for p between 0 and 1.

The main results are in a new file to avoid adding dependencies to Analysis.Convex.SpecificFunctions.Basic which is carefully designed to be low in the import hierarchy.

Co-authored-by: Frédéric Dupuis <31101893+dupuisf@users.noreply.github.com>

Diff
@@ -31,7 +31,7 @@ a convex set.
 -/
 
 
-open Finset LinearMap Set BigOperators Classical Convex Pointwise
+open LinearMap Set BigOperators Classical Convex Pointwise
 
 variable {𝕜 E F α β ι : Type _}
 
@@ -1085,6 +1085,51 @@ end OrderedAddCommMonoid
 
 end LinearOrderedField
 
+section OrderIso
+
+variable [OrderedSemiring 𝕜] [OrderedAddCommMonoid α] [SMul 𝕜 α]
+  [OrderedAddCommMonoid β] [SMul 𝕜 β]
+
+theorem OrderIso.strictConvexOn_symm (f : α ≃o β) (hf : StrictConcaveOn 𝕜 univ f) :
+    StrictConvexOn 𝕜 univ f.symm := by
+  refine ⟨convex_univ, fun x _ y _ hxy a b ha hb hab => ?_⟩
+  obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
+  obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
+  have hxy' : x' ≠ y' := by rw [←f.injective.ne_iff, ←hx'', ←hy'']; exact hxy
+  simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
+  rw [←f.lt_iff_lt, OrderIso.apply_symm_apply]
+  exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) hxy' ha hb hab
+
+theorem OrderIso.convexOn_symm (f : α ≃o β) (hf : ConcaveOn 𝕜 univ f) :
+    ConvexOn 𝕜 univ f.symm := by
+  refine ⟨convex_univ, fun x _ y _ a b ha hb hab => ?_⟩
+  obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
+  obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
+  simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
+  rw [←f.le_iff_le, OrderIso.apply_symm_apply]
+  exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) ha hb hab
+
+theorem OrderIso.strictConcaveOn_symm (f : α ≃o β) (hf : StrictConvexOn 𝕜 univ f) :
+    StrictConcaveOn 𝕜 univ f.symm := by
+  refine ⟨convex_univ, fun x _ y _ hxy a b ha hb hab => ?_⟩
+  obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
+  obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
+  have hxy' : x' ≠ y' := by rw [←f.injective.ne_iff, ←hx'', ←hy'']; exact hxy
+  simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
+  rw [←f.lt_iff_lt, OrderIso.apply_symm_apply]
+  exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) hxy' ha hb hab
+
+theorem OrderIso.concaveOn_symm (f : α ≃o β) (hf : ConvexOn 𝕜 univ f) :
+    ConcaveOn 𝕜 univ f.symm := by
+  refine ⟨convex_univ, fun x _ y _ a b ha hb hab => ?_⟩
+  obtain ⟨x', hx''⟩ := f.surjective.exists.mp ⟨x, rfl⟩
+  obtain ⟨y', hy''⟩ := f.surjective.exists.mp ⟨y, rfl⟩
+  simp only [hx'', hy'', OrderIso.symm_apply_apply, gt_iff_lt]
+  rw [←f.le_iff_le, OrderIso.apply_symm_apply]
+  exact hf.2 (by simp : x' ∈ univ) (by simp : y' ∈ univ) ha hb hab
+
+end OrderIso
+
 section
 
 variable [LinearOrderedField 𝕜] [LinearOrderedCancelAddCommMonoid β] [Module 𝕜 β] [OrderedSMul 𝕜 β]
feat: golf using gcongr throughout the library (#4784)

Following on from #4702, another hundred sample uses of the gcongr tactic.

Diff
@@ -9,6 +9,7 @@ Authors: Alexander Bentkamp, François Dupuis
 ! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Basic
+import Mathlib.Tactic.GCongr
 
 /-!
 # Convex and concave functions
@@ -235,8 +236,7 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
   ⟨hf.1 hx.1 hy.1 ha hb hab,
     calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx.1 hy.1 ha hb hab
-      _ ≤ a • r + b • r :=
-        (add_le_add (smul_le_smul_of_nonneg hx.2 ha) (smul_le_smul_of_nonneg hy.2 hb))
+      _ ≤ a • r + b • r := by gcongr; exact hx.2; exact hy.2
       _ = r := Convex.combo_self hab r
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
@@ -251,7 +251,7 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
   refine' ⟨hf.1 hx hy ha hb hab, _⟩
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
-    _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
+    _ ≤ a • r + b • t := by gcongr
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
@@ -387,8 +387,7 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
     ⟨hf.1 hx.1 hy.1 ha.le hb.le hab,
       calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx.1 hy.1 hxy ha hb hab
-        _ ≤ a • r + b • r :=
-          (add_le_add (smul_lt_smul_of_pos hx.2 ha).le (smul_lt_smul_of_pos hy.2 hb).le)
+        _ ≤ a • r + b • r := by gcongr; exact hx.2.le; exact hy.2.le
         _ = r := Convex.combo_self hab r
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
@@ -601,12 +600,10 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
   refine' ⟨hf.left, fun x hx y hy a b ha hb hab => sup_le _ _⟩
   · calc
       f (a • x + b • y) ≤ a • f x + b • f y := hf.right hx hy ha hb hab
-      _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-        add_le_add (smul_le_smul_of_nonneg le_sup_left ha) (smul_le_smul_of_nonneg le_sup_left hb)
+      _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) := by gcongr <;> apply le_sup_left
   · calc
       g (a • x + b • y) ≤ a • g x + b • g y := hg.right hx hy ha hb hab
-      _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-        add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
+      _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) := by gcongr <;> apply le_sup_right
 #align convex_on.sup ConvexOn.sup
 
 /-- The pointwise minimum of concave functions is concave. -/
@@ -621,14 +618,10 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
     max_lt
       (calc
         f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
-        _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-          add_le_add (smul_le_smul_of_nonneg le_sup_left ha.le)
-            (smul_le_smul_of_nonneg le_sup_left hb.le))
+        _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) := by gcongr <;> apply le_sup_left)
       (calc
         g (a • x + b • y) < a • g x + b • g y := hg.2 hx hy hxy ha hb hab
-        _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
-          add_le_add (smul_le_smul_of_nonneg le_sup_right ha.le)
-            (smul_le_smul_of_nonneg le_sup_right hb.le))⟩
+        _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) := by gcongr <;> apply le_sup_right)⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
@@ -642,9 +635,10 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
     (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : f (a • x + b • y) ≤ max (f x) (f y) :=
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
-    _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb))
+    _ ≤ a • max (f x) (f y) + b • max (f x) (f y) := by
+      gcongr
+      · apply le_max_left
+      · apply le_max_right
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
@@ -674,9 +668,10 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
     f (a • x + b • y) < max (f x) (f y) :=
   calc
     f (a • x + b • y) < a • f x + b • f y := hf.2 hx hy hxy ha hb hab
-    _ ≤ a • max (f x) (f y) + b • max (f x) (f y) :=
-      (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
-        (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
+    _ ≤ a • max (f x) (f y) + b • max (f x) (f y) := by
+      gcongr
+      · apply le_max_left
+      · apply le_max_right
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
feat: add Mathlib.Tactic.Common, and import (#4056)

This makes a mathlib4 version of mathlib3's tactic.basic, now called Mathlib.Tactic.Common, which imports all tactics which do not have significant theory requirements, and then is imported all across the base of the hierarchy.

This ensures that all common tactics are available nearly everywhere in the library, rather than having to be imported one-by-one as you need them.

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

Diff
@@ -9,7 +9,6 @@ Authors: Alexander Bentkamp, François Dupuis
 ! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Basic
-import Mathlib.Tactic.WLOG
 
 /-!
 # Convex and concave functions
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -210,7 +210,6 @@ theorem convexOn_const (c : β) (hs : Convex 𝕜 s) : ConvexOn 𝕜 s fun _ : E
   ⟨hs, fun _ _ _ _ _ _ _ _ hab => (Convex.combo_self hab c).ge⟩
 #align convex_on_const convexOn_const
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem concaveOn_const (c : β) (hs : Convex 𝕜 s) : ConcaveOn 𝕜 s fun _ => c :=
   @convexOn_const _ _ βᵒᵈ _ _ _ _ _ _ c hs
 #align concave_on_const concaveOn_const
@@ -221,7 +220,6 @@ theorem convexOn_of_convex_epigraph (h : Convex 𝕜 { p : E × β | p.1 ∈ s 
     fun x hx y hy a b ha hb hab => (@h (x, f x) ⟨hx, le_rfl⟩ (y, f y) ⟨hy, le_rfl⟩ a b ha hb hab).2⟩
 #align convex_on_of_convex_epigraph convexOn_of_convex_epigraph
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem concaveOn_of_convex_hypograph (h : Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 }) :
     ConcaveOn 𝕜 s f :=
   @convexOn_of_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ h
@@ -244,7 +242,6 @@ theorem ConvexOn.convex_le (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
       ⟩
 #align convex_on.convex_le ConvexOn.convex_le
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.convex_ge (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r ≤ f x }) :=
   hf.dual.convex_le r
 #align concave_on.convex_ge ConcaveOn.convex_ge
@@ -258,7 +255,6 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
     _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.convex_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   hf.dual.convex_epigraph
@@ -269,7 +265,6 @@ theorem convexOn_iff_convex_epigraph :
   ⟨ConvexOn.convex_epigraph, convexOn_of_convex_epigraph⟩
 #align convex_on_iff_convex_epigraph convexOn_iff_convex_epigraph
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem concaveOn_iff_convex_hypograph :
     ConcaveOn 𝕜 s f ↔ Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 ≤ f p.1 } :=
   @convexOn_iff_convex_epigraph 𝕜 E βᵒᵈ _ _ _ _ _ _ _ f
@@ -333,7 +328,6 @@ theorem convexOn_iff_forall_pos {s : Set E} {f : E → β} :
   exact h hx hy ha' hb' hab
 #align convex_on_iff_forall_pos convexOn_iff_forall_pos
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem concaveOn_iff_forall_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧ ∀ ⦃x⦄, x ∈ s → ∀ ⦃y⦄, y ∈ s → ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → a + b = 1 →
@@ -355,7 +349,6 @@ theorem convexOn_iff_pairwise_pos {s : Set E} {f : E → β} :
   exact h hx hy hxy ha hb hab
 #align convex_on_iff_pairwise_pos convexOn_iff_pairwise_pos
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem concaveOn_iff_pairwise_pos {s : Set E} {f : E → β} :
     ConcaveOn 𝕜 s f ↔
       Convex 𝕜 s ∧
@@ -380,7 +373,6 @@ theorem StrictConvexOn.convexOn {s : Set E} {f : E → β} (hf : StrictConvexOn
     ⟨hf.1, fun _ hx _ hy hxy _ _ ha hb hab => (hf.2 hx hy hxy ha hb hab).le⟩
 #align strict_convex_on.convex_on StrictConvexOn.convexOn
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConcaveOn.concaveOn {s : Set E} {f : E → β} (hf : StrictConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s f :=
   hf.dual.convexOn
@@ -402,7 +394,6 @@ theorem StrictConvexOn.convex_lt (hf : StrictConvexOn 𝕜 s f) (r : β) :
         ⟩
 #align strict_convex_on.convex_lt StrictConvexOn.convex_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConcaveOn.convex_gt (hf : StrictConcaveOn 𝕜 s f) (r : β) :
     Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
@@ -434,7 +425,6 @@ theorem LinearOrder.convexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.convex_on_of_lt LinearOrder.convexOn_of_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is concave it suffices to
 verify the inequality `a • f x + b • f y ≤ f (a • x + b • y)` for `x < y` and positive `a`, `b`. The
@@ -465,7 +455,6 @@ theorem LinearOrder.strictConvexOn_of_lt (hs : Convex 𝕜 s)
   exact hf hx hy h ha hb hab
 #align linear_order.strict_convex_on_of_lt LinearOrder.strictConvexOn_of_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- For a function on a convex set in a linearly ordered space (where the order and the algebraic
 structures aren't necessarily compatible), in order to prove that it is strictly concave it suffices
 to verify the inequality `a • f x + b • f y < f (a • x + b • y)` for `x < y` and positive `a`, `b`.
@@ -567,7 +556,6 @@ theorem ConvexOn.convex_lt (hf : ConvexOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x
         _ = r := Convex.combo_self hab _⟩
 #align convex_on.convex_lt ConvexOn.convex_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.convex_gt (hf : ConcaveOn 𝕜 s f) (r : β) : Convex 𝕜 ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
 #align concave_on.convex_gt ConcaveOn.convex_gt
@@ -583,7 +571,6 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
       add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.openSegment_subset_strict_hypograph (hf : ConcaveOn 𝕜 s f) (p q : E × β)
     (hp : p.1 ∈ s ∧ p.2 < f p.1) (hq : q.1 ∈ s ∧ q.2 ≤ f q.1) :
     openSegment 𝕜 p q ⊆ { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
@@ -596,7 +583,6 @@ theorem ConvexOn.convex_strict_epigraph (hf : ConvexOn 𝕜 s f) :
     hf.openSegment_subset_strict_epigraph p q hp ⟨hq.1, hq.2.le⟩
 #align convex_on.convex_strict_epigraph ConvexOn.convex_strict_epigraph
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.convex_strict_hypograph (hf : ConcaveOn 𝕜 s f) :
     Convex 𝕜 { p : E × β | p.1 ∈ s ∧ p.2 < f p.1 } :=
   hf.dual.convex_strict_epigraph
@@ -624,7 +610,6 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
         add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
 #align convex_on.sup ConvexOn.sup
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- The pointwise minimum of concave functions is concave. -/
 theorem ConcaveOn.inf (hf : ConcaveOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) : ConcaveOn 𝕜 s (f ⊓ g) :=
   hf.dual.sup hg
@@ -647,7 +632,6 @@ theorem StrictConvexOn.sup (hf : StrictConvexOn 𝕜 s f) (hg : StrictConvexOn 
             (smul_le_smul_of_nonneg le_sup_right hb.le))⟩
 #align strict_convex_on.sup StrictConvexOn.sup
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- The pointwise minimum of strictly concave functions is strictly concave. -/
 theorem StrictConcaveOn.inf (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f ⊓ g) :=
@@ -665,7 +649,6 @@ theorem ConvexOn.le_on_segment' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align convex_on.le_on_segment' ConvexOn.le_on_segment'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 ≤ a) (hb : 0 ≤ b) (hab : a + b = 1) : min (f x) (f y) ≤ f (a • x + b • y) :=
@@ -679,7 +662,6 @@ theorem ConvexOn.le_on_segment (hf : ConvexOn 𝕜 s f) {x y z : E} (hx : x ∈
   hz ▸ hf.le_on_segment' hx hy ha hb hab
 #align convex_on.le_on_segment ConvexOn.le_on_segment
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- A concave function on a segment is lower-bounded by the min of its endpoints. -/
 theorem ConcaveOn.ge_on_segment (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ [x -[𝕜] y]) : min (f x) (f y) ≤ f z :=
@@ -699,7 +681,6 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
     _ = max (f x) (f y) := Convex.combo_self hab _
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_open_segment' (hf : StrictConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s)
@@ -716,7 +697,6 @@ theorem StrictConvexOn.lt_on_openSegment (hf : StrictConvexOn 𝕜 s f) {x y z :
   hz ▸ hf.lt_on_open_segment' hx hy hxy ha hb hab
 #align strict_convex_on.lt_on_open_segment StrictConvexOn.lt_on_openSegment
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- A strictly concave function on an open segment is strictly lower-bounded by the min of its
 endpoints. -/
 theorem StrictConcaveOn.lt_on_openSegment (hf : StrictConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s)
@@ -746,7 +726,6 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.left_le_of_le_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 ≤ b) (hab : a + b = 1) (hfy : f (a • x + b • y) ≤ f y) :
     f x ≤ f (a • x + b • y) :=
@@ -760,7 +739,6 @@ theorem ConvexOn.le_right_of_left_le' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.le_left_of_right_le' hy hx hb ha hab hfx
 #align convex_on.le_right_of_left_le' ConvexOn.le_right_of_left_le'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.right_le_of_le_left' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 ≤ a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) ≤ f x) :
     f y ≤ f (a • x + b • y) :=
@@ -773,7 +751,6 @@ theorem ConvexOn.le_left_of_right_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_left_of_right_le' hx hy ha hb.le hab hyz
 #align convex_on.le_left_of_right_le ConvexOn.le_left_of_right_le
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.left_le_of_le_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z ≤ f y) : f x ≤ f z :=
   hf.dual.le_left_of_right_le hx hy hz hyz
@@ -785,7 +762,6 @@ theorem ConvexOn.le_right_of_left_le (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.le_right_of_left_le' hx hy ha.le hb hab hxz
 #align convex_on.le_right_of_left_le ConvexOn.le_right_of_left_le
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.right_le_of_le_left (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z ≤ f x) : f y ≤ f z :=
   hf.dual.le_right_of_left_le hx hy hz hxz
@@ -811,7 +787,6 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ = f (a • x + b • y) := Convex.combo_self hab _
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.left_lt_of_lt_right' (hf : ConcaveOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f (a • x + b • y) < f y) :
     f x < f (a • x + b • y) :=
@@ -825,7 +800,6 @@ theorem ConvexOn.lt_right_of_left_lt' (hf : ConvexOn 𝕜 s f) {x y : E} {a b :
   exact hf.lt_left_of_right_lt' hy hx hb ha hab hfx
 #align convex_on.lt_right_of_left_lt' ConvexOn.lt_right_of_left_lt'
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.lt_right_of_left_lt' (hf : ConcaveOn 𝕜 s f) {x y : E} {a b : 𝕜} (hx : x ∈ s)
     (hy : y ∈ s) (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfx : f (a • x + b • y) < f x) :
     f y < f (a • x + b • y) :=
@@ -838,7 +812,6 @@ theorem ConvexOn.lt_left_of_right_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_left_of_right_lt' hx hy ha hb hab hyz
 #align convex_on.lt_left_of_right_lt ConvexOn.lt_left_of_right_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.left_lt_of_lt_right (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hyz : f z < f y) : f x < f z :=
   hf.dual.lt_left_of_right_lt hx hy hz hyz
@@ -850,7 +823,6 @@ theorem ConvexOn.lt_right_of_left_lt (hf : ConvexOn 𝕜 s f) {x y z : E} (hx :
   exact hf.lt_right_of_left_lt' hx hy ha hb hab hxz
 #align convex_on.lt_right_of_left_lt ConvexOn.lt_right_of_left_lt
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.lt_right_of_left_lt (hf : ConcaveOn 𝕜 s f) {x y z : E} (hx : x ∈ s) (hy : y ∈ s)
     (hz : z ∈ openSegment 𝕜 x y) (hxz : f z < f x) : f y < f z :=
   hf.dual.lt_right_of_left_lt hx hy hz hxz
@@ -926,37 +898,31 @@ theorem ConcaveOn.sub (hf : ConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : Conca
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align concave_on.sub ConcaveOn.sub
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConvexOn.sub (hf : StrictConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_convex_on.sub StrictConvexOn.sub
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConcaveOn.sub (hf : StrictConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add hg.neg
 #align strict_concave_on.sub StrictConcaveOn.sub
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConvexOn.sub_strictConcaveOn (hf : ConvexOn 𝕜 s f) (hg : StrictConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConvexOn hg.neg
 #align convex_on.sub_strict_concave_on ConvexOn.sub_strictConcaveOn
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.sub_strictConvexOn (hf : ConcaveOn 𝕜 s f) (hg : StrictConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_strictConcaveOn hg.neg
 #align concave_on.sub_strict_convex_on ConcaveOn.sub_strictConvexOn
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConvexOn.sub_concaveOn (hf : StrictConvexOn 𝕜 s f) (hg : ConcaveOn 𝕜 s g) :
     StrictConvexOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_convexOn hg.neg
 #align strict_convex_on.sub_concave_on StrictConvexOn.sub_concaveOn
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem StrictConcaveOn.sub_convexOn (hf : StrictConcaveOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) :
     StrictConcaveOn 𝕜 s (f - g) :=
   (sub_eq_add_neg f g).symm ▸ hf.add_concaveOn hg.neg
@@ -1023,7 +989,6 @@ theorem ConvexOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConvexOn 𝕜 s f) : Conve
       _ = a • c • f x + b • c • f y := by rw [smul_add, smul_comm c, smul_comm c]⟩
 #align convex_on.smul ConvexOn.smul
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.smul {c : 𝕜} (hc : 0 ≤ c) (hf : ConcaveOn 𝕜 s f) :
     ConcaveOn 𝕜 s fun x => c • f x :=
   hf.dual.smul hc
@@ -1143,13 +1108,11 @@ theorem ConvexOn.le_left_of_right_le'' (hf : ConvexOn 𝕜 s f) (hx : x ∈ s) (
     hf.le_left_of_right_le hx hz (Ioo_subset_openSegment ⟨hxy, hyz⟩) h
 #align convex_on.le_left_of_right_le'' ConvexOn.le_left_of_right_le''
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.right_le_of_le_left'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x < y) (hyz : y ≤ z) (h : f y ≤ f x) : f z ≤ f y :=
   hf.dual.le_right_of_left_le'' hx hz hxy hyz h
 #align concave_on.right_le_of_le_left'' ConcaveOn.right_le_of_le_left''
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem ConcaveOn.left_le_of_le_right'' (hf : ConcaveOn 𝕜 s f) (hx : x ∈ s) (hz : z ∈ s)
     (hxy : x ≤ y) (hyz : y < z) (h : f y ≤ f z) : f x ≤ f y :=
   hf.dual.le_left_of_right_le'' hx hz hxy hyz h
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -256,7 +256,6 @@ theorem ConvexOn.convex_epigraph (hf : ConvexOn 𝕜 s f) :
   calc
     f (a • x + b • y) ≤ a • f x + b • f y := hf.2 hx hy ha hb hab
     _ ≤ a • r + b • t := add_le_add (smul_le_smul_of_nonneg hr ha) (smul_le_smul_of_nonneg ht hb)
-
 #align convex_on.convex_epigraph ConvexOn.convex_epigraph
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
@@ -582,7 +581,6 @@ theorem ConvexOn.openSegment_subset_strict_epigraph (hf : ConvexOn 𝕜 s f) (p
     f (a • p.1 + b • q.1) ≤ a • f p.1 + b • f q.1 := hf.2 hp.1 hq.1 ha.le hb.le hab
     _ < a • p.2 + b • q.2 :=
       add_lt_add_of_lt_of_le (smul_lt_smul_of_pos hp.2 ha) (smul_le_smul_of_nonneg hq.2 hb.le)
-
 #align convex_on.open_segment_subset_strict_epigraph ConvexOn.openSegment_subset_strict_epigraph
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
@@ -624,7 +622,6 @@ theorem ConvexOn.sup (hf : ConvexOn 𝕜 s f) (hg : ConvexOn 𝕜 s g) : ConvexO
       g (a • x + b • y) ≤ a • g x + b • g y := hg.right hx hy ha hb hab
       _ ≤ a • (f x ⊔ g x) + b • (f y ⊔ g y) :=
         add_le_add (smul_le_smul_of_nonneg le_sup_right ha) (smul_le_smul_of_nonneg le_sup_right hb)
-
 #align convex_on.sup ConvexOn.sup
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
@@ -700,7 +697,6 @@ theorem StrictConvexOn.lt_on_open_segment' (hf : StrictConvexOn 𝕜 s f) {x y :
       (add_le_add (smul_le_smul_of_nonneg (le_max_left _ _) ha.le)
         (smul_le_smul_of_nonneg (le_max_right _ _) hb.le))
     _ = max (f x) (f y) := Convex.combo_self hab _
-
 #align strict_convex_on.lt_on_open_segment' StrictConvexOn.lt_on_open_segment'
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
@@ -748,7 +744,6 @@ theorem ConvexOn.le_left_of_right_le' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
           (add_lt_add_of_lt_of_le (smul_lt_smul_of_pos h ha) (smul_le_smul_of_nonneg hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
-
 #align convex_on.le_left_of_right_le' ConvexOn.le_left_of_right_le'
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
@@ -814,7 +809,6 @@ theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x
         _ < a • f (a • x + b • y) + b • f (a • x + b • y) :=
           (add_lt_add_of_le_of_lt (smul_le_smul_of_nonneg h ha.le) (smul_lt_smul_of_pos hfy hb))
         _ = f (a • x + b • y) := Convex.combo_self hab _
-
 #align convex_on.lt_left_of_right_lt' ConvexOn.lt_left_of_right_lt'
 
 set_option synthInstance.etaExperiment true in -- lean4#2074
chore: tidy various files (#3408)
Diff
@@ -19,7 +19,7 @@ inequality. The integral version can be found in `Analysis.Convex.Integral`.
 
 A function `f : E → β` is `ConvexOn` a set `s` if `s` is itself a convex set, and for any two
 points `x y ∈ s`, the segment joining `(x, f x)` to `(y, f y)` is above the graph of `f`.
-Equivalently, `Convex_on 𝕜 f s` means that the epigraph `{p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2}` is
+Equivalently, `ConvexOn 𝕜 f s` means that the epigraph `{p : E × β | p.1 ∈ s ∧ f p.1 ≤ p.2}` is
 a convex set.
 
 ## Main declarations
@@ -31,9 +31,7 @@ a convex set.
 -/
 
 
-open Finset LinearMap Set
-
-open BigOperators Classical Convex Pointwise
+open Finset LinearMap Set BigOperators Classical Convex Pointwise
 
 variable {𝕜 E F α β ι : Type _}
 
@@ -804,7 +802,7 @@ section Module
 
 variable [Module 𝕜 E] [Module 𝕜 β] [OrderedSMul 𝕜 β] {s : Set E} {f g : E → β}
 
-/- The following lemmas don't require `module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
+/- The following lemmas don't require `Module 𝕜 E` if you add the hypothesis `x ≠ y`. At the time of
 the writing, we decided the resulting lemmas wouldn't be useful. Feel free to reintroduce them. -/
 theorem ConvexOn.lt_left_of_right_lt' (hf : ConvexOn 𝕜 s f) {x y : E} (hx : x ∈ s) (hy : y ∈ s)
     {a b : 𝕜} (ha : 0 < a) (hb : 0 < b) (hab : a + b = 1) (hfy : f y < f (a • x + b • y)) :
feat: port Analysis.Convex.Function (#3152)

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

Dependencies 9 + 420

421 files ported (97.9%)
173464 lines ported (98.1%)
Show graph

The unported dependencies are