analysis.convex.quasiconvex ⟷ Mathlib.Analysis.Convex.Quasiconvex

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -189,7 +189,7 @@ theorem quasilinearOn_iff_mem_uIcc :
   rw [QuasilinearOn, quasiconvexOn_iff_le_max, quasiconcaveOn_iff_min_le, and_and_and_comm,
     and_self_iff]
   apply and_congr_right'
-  simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm']
+  simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm]
 #align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIcc
 -/
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
 -/
-import Mathbin.Analysis.Convex.Function
+import Analysis.Convex.Function
 
 #align_import analysis.convex.quasiconvex from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.convex.quasiconvex
-! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Function
 
+#align_import analysis.convex.quasiconvex from "leanprover-community/mathlib"@"9a48a083b390d9b84a71efbdc4e8dfa26a687104"
+
 /-!
 # Quasiconvex and quasiconcave functions
 
Diff
@@ -78,36 +78,50 @@ def QuasilinearOn : Prop :=
 
 variable {π•œ s f}
 
+#print QuasiconvexOn.dual /-
 theorem QuasiconvexOn.dual : QuasiconvexOn π•œ s f β†’ QuasiconcaveOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconvex_on.dual QuasiconvexOn.dual
+-/
 
+#print QuasiconcaveOn.dual /-
 theorem QuasiconcaveOn.dual : QuasiconcaveOn π•œ s f β†’ QuasiconvexOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconcave_on.dual QuasiconcaveOn.dual
+-/
 
+#print QuasilinearOn.dual /-
 theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (toDual ∘ f) :=
   And.symm
 #align quasilinear_on.dual QuasilinearOn.dual
+-/
 
+#print Convex.quasiconvexOn_of_convex_le /-
 theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ {x | f x ≀ r}) :
     QuasiconvexOn π•œ s f := fun r => hs.inter (h r)
 #align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_le
+-/
 
+#print Convex.quasiconcaveOn_of_convex_ge /-
 theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ {x | r ≀ f x}) :
     QuasiconcaveOn π•œ s f :=
   @Convex.quasiconvexOn_of_convex_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ hs h
 #align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_ge
+-/
 
+#print QuasiconvexOn.convex /-
 theorem QuasiconvexOn.convex [IsDirected Ξ² (Β· ≀ Β·)] (hf : QuasiconvexOn π•œ s f) : Convex π•œ s :=
   fun x hx y hy a b ha hb hab =>
   let ⟨z, hxz, hyz⟩ := exists_ge_ge (f x) (f y)
   (hf _ ⟨hx, hxz⟩ ⟨hy, hyz⟩ ha hb hab).1
 #align quasiconvex_on.convex QuasiconvexOn.convex
+-/
 
+#print QuasiconcaveOn.convex /-
 theorem QuasiconcaveOn.convex [IsDirected Ξ² (Β· β‰₯ Β·)] (hf : QuasiconcaveOn π•œ s f) : Convex π•œ s :=
   hf.dual.Convex
 #align quasiconcave_on.convex QuasiconcaveOn.convex
+-/
 
 end OrderedAddCommMonoid
 
@@ -119,18 +133,23 @@ section SMul
 
 variable [SMul π•œ E] {s : Set E} {f g : E β†’ Ξ²}
 
+#print QuasiconvexOn.sup /-
 theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ s g) :
     QuasiconvexOn π•œ s (f βŠ” g) := by
   intro r
   simp_rw [Pi.sup_def, sup_le_iff, Set.sep_and]
   exact (hf r).inter (hg r)
 #align quasiconvex_on.sup QuasiconvexOn.sup
+-/
 
+#print QuasiconcaveOn.inf /-
 theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn π•œ s g) :
     QuasiconcaveOn π•œ s (f βŠ“ g) :=
   hf.dual.sup hg
 #align quasiconcave_on.inf QuasiconcaveOn.inf
+-/
 
+#print quasiconvexOn_iff_le_max /-
 theorem quasiconvexOn_iff_le_max :
     QuasiconvexOn π•œ s f ↔
       Convex π•œ s ∧
@@ -145,7 +164,9 @@ theorem quasiconvexOn_iff_le_max :
     fun hf r x hx y hy a b ha hb hab =>
     ⟨hf.1 hx.1 hy.1 ha hb hab, (hf.2 hx.1 hy.1 ha hb hab).trans <| max_le hx.2 hy.2⟩⟩
 #align quasiconvex_on_iff_le_max quasiconvexOn_iff_le_max
+-/
 
+#print quasiconcaveOn_iff_min_le /-
 theorem quasiconcaveOn_iff_min_le :
     QuasiconcaveOn π•œ s f ↔
       Convex π•œ s ∧
@@ -156,7 +177,9 @@ theorem quasiconcaveOn_iff_min_le :
                 βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ min (f x) (f y) ≀ f (a β€’ x + b β€’ y) :=
   @quasiconvexOn_iff_le_max π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _
 #align quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_le
+-/
 
+#print quasilinearOn_iff_mem_uIcc /-
 theorem quasilinearOn_iff_mem_uIcc :
     QuasilinearOn π•œ s f ↔
       Convex π•œ s ∧
@@ -171,18 +194,23 @@ theorem quasilinearOn_iff_mem_uIcc :
   apply and_congr_right'
   simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm']
 #align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIcc
+-/
 
+#print QuasiconvexOn.convex_lt /-
 theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) : Convex π•œ ({x ∈ s | f x < r}) :=
   by
   refine' fun x hx y hy a b ha hb hab => _
   have h := hf _ ⟨hx.1, le_max_left _ _⟩ ⟨hy.1, le_max_right _ _⟩ ha hb hab
   exact ⟨h.1, h.2.trans_lt <| max_lt hx.2 hy.2⟩
 #align quasiconvex_on.convex_lt QuasiconvexOn.convex_lt
+-/
 
+#print QuasiconcaveOn.convex_gt /-
 theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn π•œ s f) (r : Ξ²) :
     Convex π•œ ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gt
+-/
 
 end SMul
 
@@ -190,13 +218,17 @@ section OrderedSMul
 
 variable [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²}
 
+#print ConvexOn.quasiconvexOn /-
 theorem ConvexOn.quasiconvexOn (hf : ConvexOn π•œ s f) : QuasiconvexOn π•œ s f :=
   hf.convex_le
 #align convex_on.quasiconvex_on ConvexOn.quasiconvexOn
+-/
 
+#print ConcaveOn.quasiconcaveOn /-
 theorem ConcaveOn.quasiconcaveOn (hf : ConcaveOn π•œ s f) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge
 #align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOn
+-/
 
 end OrderedSMul
 
@@ -209,53 +241,77 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [OrderedSMul π•œ E]
   {s : Set E} {f : E β†’ Ξ²}
 
+#print MonotoneOn.quasiconvexOn /-
 theorem MonotoneOn.quasiconvexOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align monotone_on.quasiconvex_on MonotoneOn.quasiconvexOn
+-/
 
+#print MonotoneOn.quasiconcaveOn /-
 theorem MonotoneOn.quasiconcaveOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align monotone_on.quasiconcave_on MonotoneOn.quasiconcaveOn
+-/
 
+#print MonotoneOn.quasilinearOn /-
 theorem MonotoneOn.quasilinearOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align monotone_on.quasilinear_on MonotoneOn.quasilinearOn
+-/
 
+#print AntitoneOn.quasiconvexOn /-
 theorem AntitoneOn.quasiconvexOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align antitone_on.quasiconvex_on AntitoneOn.quasiconvexOn
+-/
 
+#print AntitoneOn.quasiconcaveOn /-
 theorem AntitoneOn.quasiconcaveOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align antitone_on.quasiconcave_on AntitoneOn.quasiconcaveOn
+-/
 
+#print AntitoneOn.quasilinearOn /-
 theorem AntitoneOn.quasilinearOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align antitone_on.quasilinear_on AntitoneOn.quasilinearOn
+-/
 
+#print Monotone.quasiconvexOn /-
 theorem Monotone.quasiconvexOn (hf : Monotone f) : QuasiconvexOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconvexOn convex_univ
 #align monotone.quasiconvex_on Monotone.quasiconvexOn
+-/
 
+#print Monotone.quasiconcaveOn /-
 theorem Monotone.quasiconcaveOn (hf : Monotone f) : QuasiconcaveOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconcaveOn convex_univ
 #align monotone.quasiconcave_on Monotone.quasiconcaveOn
+-/
 
+#print Monotone.quasilinearOn /-
 theorem Monotone.quasilinearOn (hf : Monotone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align monotone.quasilinear_on Monotone.quasilinearOn
+-/
 
+#print Antitone.quasiconvexOn /-
 theorem Antitone.quasiconvexOn (hf : Antitone f) : QuasiconvexOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconvexOn convex_univ
 #align antitone.quasiconvex_on Antitone.quasiconvexOn
+-/
 
+#print Antitone.quasiconcaveOn /-
 theorem Antitone.quasiconcaveOn (hf : Antitone f) : QuasiconcaveOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconcaveOn convex_univ
 #align antitone.quasiconcave_on Antitone.quasiconcaveOn
+-/
 
+#print Antitone.quasilinearOn /-
 theorem Antitone.quasilinearOn (hf : Antitone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align antitone.quasilinear_on Antitone.quasilinearOn
+-/
 
 end LinearOrderedAddCommMonoid
 
@@ -265,6 +321,7 @@ section LinearOrderedField
 
 variable [LinearOrderedField π•œ] [LinearOrderedAddCommMonoid Ξ²] {s : Set π•œ} {f : π•œ β†’ Ξ²}
 
+#print QuasilinearOn.monotoneOn_or_antitoneOn /-
 theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
     MonotoneOn f s ∨ AntitoneOn f s :=
   by
@@ -272,12 +329,15 @@ theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
   rintro a ha b hb c hc h
   refine' ⟨((hf.2 _).segment_subset _ _ h).2, ((hf.1 _).segment_subset _ _ h).2⟩ <;> simp [*]
 #align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOn
+-/
 
+#print quasilinearOn_iff_monotoneOn_or_antitoneOn /-
 theorem quasilinearOn_iff_monotoneOn_or_antitoneOn (hs : Convex π•œ s) :
     QuasilinearOn π•œ s f ↔ MonotoneOn f s ∨ AntitoneOn f s :=
   ⟨fun h => h.monotoneOn_or_antitoneOn, fun h =>
     h.elim (fun h => h.QuasilinearOn hs) fun h => h.QuasilinearOn hs⟩
 #align quasilinear_on_iff_monotone_on_or_antitone_on quasilinearOn_iff_monotoneOn_or_antitoneOn
+-/
 
 end LinearOrderedField
 
Diff
@@ -55,7 +55,7 @@ variable (π•œ) [OrderedAddCommMonoid Ξ²] [SMul π•œ E] (s : Set E) (f : E β†’ 
 /-- A function is quasiconvex if all its sublevels are convex.
 This means that, for all `r`, `{x ∈ s | f x ≀ r}` is `π•œ`-convex. -/
 def QuasiconvexOn : Prop :=
-  βˆ€ r, Convex π•œ ({ x ∈ s | f x ≀ r })
+  βˆ€ r, Convex π•œ ({x ∈ s | f x ≀ r})
 #align quasiconvex_on QuasiconvexOn
 -/
 
@@ -63,7 +63,7 @@ def QuasiconvexOn : Prop :=
 /-- A function is quasiconcave if all its superlevels are convex.
 This means that, for all `r`, `{x ∈ s | r ≀ f x}` is `π•œ`-convex. -/
 def QuasiconcaveOn : Prop :=
-  βˆ€ r, Convex π•œ ({ x ∈ s | r ≀ f x })
+  βˆ€ r, Convex π•œ ({x ∈ s | r ≀ f x})
 #align quasiconcave_on QuasiconcaveOn
 -/
 
@@ -90,11 +90,11 @@ theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (to
   And.symm
 #align quasilinear_on.dual QuasilinearOn.dual
 
-theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | f x ≀ r }) :
+theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ {x | f x ≀ r}) :
     QuasiconvexOn π•œ s f := fun r => hs.inter (h r)
 #align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_le
 
-theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | r ≀ f x }) :
+theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ {x | r ≀ f x}) :
     QuasiconcaveOn π•œ s f :=
   @Convex.quasiconvexOn_of_convex_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ hs h
 #align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_ge
@@ -172,8 +172,7 @@ theorem quasilinearOn_iff_mem_uIcc :
   simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm']
 #align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIcc
 
-theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
-    Convex π•œ ({ x ∈ s | f x < r }) :=
+theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) : Convex π•œ ({x ∈ s | f x < r}) :=
   by
   refine' fun x hx y hy a b ha hb hab => _
   have h := hf _ ⟨hx.1, le_max_left _ _⟩ ⟨hy.1, le_max_right _ _⟩ ha hb hab
@@ -181,7 +180,7 @@ theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
 #align quasiconvex_on.convex_lt QuasiconvexOn.convex_lt
 
 theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn π•œ s f) (r : Ξ²) :
-    Convex π•œ ({ x ∈ s | r < f x }) :=
+    Convex π•œ ({x ∈ s | r < f x}) :=
   hf.dual.convex_lt r
 #align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gt
 
Diff
@@ -78,75 +78,33 @@ def QuasilinearOn : Prop :=
 
 variable {π•œ s f}
 
-/- warning: quasiconvex_on.dual -> QuasiconvexOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconvex_on.dual QuasiconvexOn.dualβ‚“'. -/
 theorem QuasiconvexOn.dual : QuasiconvexOn π•œ s f β†’ QuasiconcaveOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconvex_on.dual QuasiconvexOn.dual
 
-/- warning: quasiconcave_on.dual -> QuasiconcaveOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconcave_on.dual QuasiconcaveOn.dualβ‚“'. -/
 theorem QuasiconcaveOn.dual : QuasiconcaveOn π•œ s f β†’ QuasiconvexOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconcave_on.dual QuasiconcaveOn.dual
 
-/- warning: quasilinear_on.dual -> QuasilinearOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasilinear_on.dual QuasilinearOn.dualβ‚“'. -/
 theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (toDual ∘ f) :=
   And.symm
 #align quasilinear_on.dual QuasilinearOn.dual
 
-/- warning: convex.quasiconvex_on_of_convex_le -> Convex.quasiconvexOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
-Case conversion may be inaccurate. Consider using '#align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_leβ‚“'. -/
 theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | f x ≀ r }) :
     QuasiconvexOn π•œ s f := fun r => hs.inter (h r)
 #align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_le
 
-/- warning: convex.quasiconcave_on_of_convex_ge -> Convex.quasiconcaveOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
-Case conversion may be inaccurate. Consider using '#align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_geβ‚“'. -/
 theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | r ≀ f x }) :
     QuasiconcaveOn π•œ s f :=
   @Convex.quasiconvexOn_of_convex_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ hs h
 #align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_ge
 
-/- warning: quasiconvex_on.convex -> QuasiconvexOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564 : Ξ²) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564)], (QuasiconvexOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
-Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex QuasiconvexOn.convexβ‚“'. -/
 theorem QuasiconvexOn.convex [IsDirected Ξ² (Β· ≀ Β·)] (hf : QuasiconvexOn π•œ s f) : Convex π•œ s :=
   fun x hx y hy a b ha hb hab =>
   let ⟨z, hxz, hyz⟩ := exists_ge_ge (f x) (f y)
   (hf _ ⟨hx, hxz⟩ ⟨hy, hyz⟩ ha hb hab).1
 #align quasiconvex_on.convex QuasiconvexOn.convex
 
-/- warning: quasiconcave_on.convex -> QuasiconcaveOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (GE.ge.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685 : Ξ²) => GE.ge.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685)], (QuasiconcaveOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
-Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex QuasiconcaveOn.convexβ‚“'. -/
 theorem QuasiconcaveOn.convex [IsDirected Ξ² (Β· β‰₯ Β·)] (hf : QuasiconcaveOn π•œ s f) : Convex π•œ s :=
   hf.dual.Convex
 #align quasiconcave_on.convex QuasiconcaveOn.convex
@@ -161,12 +119,6 @@ section SMul
 
 variable [SMul π•œ E] {s : Set E} {f g : E β†’ Ξ²}
 
-/- warning: quasiconvex_on.sup -> QuasiconvexOn.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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s g) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s g) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconvex_on.sup QuasiconvexOn.supβ‚“'. -/
 theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ s g) :
     QuasiconvexOn π•œ s (f βŠ” g) := by
   intro r
@@ -174,20 +126,11 @@ theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ
   exact (hf r).inter (hg r)
 #align quasiconvex_on.sup QuasiconvexOn.sup
 
-/- warning: quasiconcave_on.inf -> QuasiconcaveOn.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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s g) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s g) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconcave_on.inf QuasiconcaveOn.infβ‚“'. -/
 theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn π•œ s g) :
     QuasiconcaveOn π•œ s (f βŠ“ g) :=
   hf.dual.sup hg
 #align quasiconcave_on.inf QuasiconcaveOn.inf
 
-/- warning: quasiconvex_on_iff_le_max -> quasiconvexOn_iff_le_max is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasiconvex_on_iff_le_max quasiconvexOn_iff_le_maxβ‚“'. -/
 theorem quasiconvexOn_iff_le_max :
     QuasiconvexOn π•œ s f ↔
       Convex π•œ s ∧
@@ -203,9 +146,6 @@ theorem quasiconvexOn_iff_le_max :
     ⟨hf.1 hx.1 hy.1 ha hb hab, (hf.2 hx.1 hy.1 ha hb hab).trans <| max_le hx.2 hy.2⟩⟩
 #align quasiconvex_on_iff_le_max quasiconvexOn_iff_le_max
 
-/- warning: quasiconcave_on_iff_min_le -> quasiconcaveOn_iff_min_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_leβ‚“'. -/
 theorem quasiconcaveOn_iff_min_le :
     QuasiconcaveOn π•œ s f ↔
       Convex π•œ s ∧
@@ -217,9 +157,6 @@ theorem quasiconcaveOn_iff_min_le :
   @quasiconvexOn_iff_le_max π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _
 #align quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_le
 
-/- warning: quasilinear_on_iff_mem_uIcc -> quasilinearOn_iff_mem_uIcc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIccβ‚“'. -/
 theorem quasilinearOn_iff_mem_uIcc :
     QuasilinearOn π•œ s f ↔
       Convex π•œ s ∧
@@ -235,12 +172,6 @@ theorem quasilinearOn_iff_mem_uIcc :
   simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm']
 #align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIcc
 
-/- warning: quasiconvex_on.convex_lt -> QuasiconvexOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) (f x) r))))
-Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex_lt QuasiconvexOn.convex_ltβ‚“'. -/
 theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
     Convex π•œ ({ x ∈ s | f x < r }) :=
   by
@@ -249,12 +180,6 @@ theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
   exact ⟨h.1, h.2.trans_lt <| max_lt hx.2 hy.2⟩
 #align quasiconvex_on.convex_lt QuasiconvexOn.convex_lt
 
-/- warning: quasiconcave_on.convex_gt -> QuasiconcaveOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) r (f x)))))
-Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gtβ‚“'. -/
 theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn π•œ s f) (r : Ξ²) :
     Convex π•œ ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
@@ -266,22 +191,10 @@ section OrderedSMul
 
 variable [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²}
 
-/- warning: convex_on.quasiconvex_on -> ConvexOn.quasiconvexOn 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) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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 : 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) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f)
-Case conversion may be inaccurate. Consider using '#align convex_on.quasiconvex_on ConvexOn.quasiconvexOnβ‚“'. -/
 theorem ConvexOn.quasiconvexOn (hf : ConvexOn π•œ s f) : QuasiconvexOn π•œ s f :=
   hf.convex_le
 #align convex_on.quasiconvex_on ConvexOn.quasiconvexOn
 
-/- warning: concave_on.quasiconcave_on -> ConcaveOn.quasiconcaveOn 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) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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 : 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) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f)
-Case conversion may be inaccurate. Consider using '#align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOnβ‚“'. -/
 theorem ConcaveOn.quasiconcaveOn (hf : ConcaveOn π•œ s f) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge
 #align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOn
@@ -297,122 +210,50 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [OrderedSMul π•œ E]
   {s : Set E} {f : E β†’ Ξ²}
 
-/- warning: monotone_on.quasiconvex_on -> MonotoneOn.quasiconvexOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align monotone_on.quasiconvex_on MonotoneOn.quasiconvexOnβ‚“'. -/
 theorem MonotoneOn.quasiconvexOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align monotone_on.quasiconvex_on MonotoneOn.quasiconvexOn
 
-/- warning: monotone_on.quasiconcave_on -> MonotoneOn.quasiconcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align monotone_on.quasiconcave_on MonotoneOn.quasiconcaveOnβ‚“'. -/
 theorem MonotoneOn.quasiconcaveOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align monotone_on.quasiconcave_on MonotoneOn.quasiconcaveOn
 
-/- warning: monotone_on.quasilinear_on -> MonotoneOn.quasilinearOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align monotone_on.quasilinear_on MonotoneOn.quasilinearOnβ‚“'. -/
 theorem MonotoneOn.quasilinearOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align monotone_on.quasilinear_on MonotoneOn.quasilinearOn
 
-/- warning: antitone_on.quasiconvex_on -> AntitoneOn.quasiconvexOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align antitone_on.quasiconvex_on AntitoneOn.quasiconvexOnβ‚“'. -/
 theorem AntitoneOn.quasiconvexOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align antitone_on.quasiconvex_on AntitoneOn.quasiconvexOn
 
-/- warning: antitone_on.quasiconcave_on -> AntitoneOn.quasiconcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align antitone_on.quasiconcave_on AntitoneOn.quasiconcaveOnβ‚“'. -/
 theorem AntitoneOn.quasiconcaveOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align antitone_on.quasiconcave_on AntitoneOn.quasiconcaveOn
 
-/- warning: antitone_on.quasilinear_on -> AntitoneOn.quasilinearOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
-Case conversion may be inaccurate. Consider using '#align antitone_on.quasilinear_on AntitoneOn.quasilinearOnβ‚“'. -/
 theorem AntitoneOn.quasilinearOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align antitone_on.quasilinear_on AntitoneOn.quasilinearOn
 
-/- warning: monotone.quasiconvex_on -> Monotone.quasiconvexOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align monotone.quasiconvex_on Monotone.quasiconvexOnβ‚“'. -/
 theorem Monotone.quasiconvexOn (hf : Monotone f) : QuasiconvexOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconvexOn convex_univ
 #align monotone.quasiconvex_on Monotone.quasiconvexOn
 
-/- warning: monotone.quasiconcave_on -> Monotone.quasiconcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align monotone.quasiconcave_on Monotone.quasiconcaveOnβ‚“'. -/
 theorem Monotone.quasiconcaveOn (hf : Monotone f) : QuasiconcaveOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconcaveOn convex_univ
 #align monotone.quasiconcave_on Monotone.quasiconcaveOn
 
-/- warning: monotone.quasilinear_on -> Monotone.quasilinearOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align monotone.quasilinear_on Monotone.quasilinearOnβ‚“'. -/
 theorem Monotone.quasilinearOn (hf : Monotone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align monotone.quasilinear_on Monotone.quasilinearOn
 
-/- warning: antitone.quasiconvex_on -> Antitone.quasiconvexOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align antitone.quasiconvex_on Antitone.quasiconvexOnβ‚“'. -/
 theorem Antitone.quasiconvexOn (hf : Antitone f) : QuasiconvexOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconvexOn convex_univ
 #align antitone.quasiconvex_on Antitone.quasiconvexOn
 
-/- warning: antitone.quasiconcave_on -> Antitone.quasiconcaveOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align antitone.quasiconcave_on Antitone.quasiconcaveOnβ‚“'. -/
 theorem Antitone.quasiconcaveOn (hf : Antitone f) : QuasiconcaveOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconcaveOn convex_univ
 #align antitone.quasiconcave_on Antitone.quasiconcaveOn
 
-/- warning: antitone.quasilinear_on -> Antitone.quasilinearOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
-Case conversion may be inaccurate. Consider using '#align antitone.quasilinear_on Antitone.quasilinearOnβ‚“'. -/
 theorem Antitone.quasilinearOn (hf : Antitone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align antitone.quasilinear_on Antitone.quasilinearOn
@@ -425,12 +266,6 @@ section LinearOrderedField
 
 variable [LinearOrderedField π•œ] [LinearOrderedAddCommMonoid Ξ²] {s : Set π•œ} {f : π•œ β†’ Ξ²}
 
-/- warning: quasilinear_on.monotone_on_or_antitone_on -> QuasilinearOn.monotoneOn_or_antitoneOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} Ξ²] {s : Set.{u1} π•œ} {f : π•œ -> Ξ²}, (QuasilinearOn.{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)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s f) -> (Or (MonotoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s) (AntitoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u1} Ξ²] {s : Set.{u2} π•œ} {f : π•œ -> Ξ²}, (QuasilinearOn.{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} Ξ² _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)))))) s f) -> (Or (MonotoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s) (AntitoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s))
-Case conversion may be inaccurate. Consider using '#align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOnβ‚“'. -/
 theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
     MonotoneOn f s ∨ AntitoneOn f s :=
   by
@@ -439,12 +274,6 @@ theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
   refine' ⟨((hf.2 _).segment_subset _ _ h).2, ((hf.1 _).segment_subset _ _ h).2⟩ <;> simp [*]
 #align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOn
 
-/- warning: quasilinear_on_iff_monotone_on_or_antitone_on -> quasilinearOn_iff_monotoneOn_or_antitoneOn is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} Ξ²] {s : Set.{u1} π•œ} {f : π•œ -> Ξ²}, (Convex.{u1, u1} π•œ π•œ (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)))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s) -> (Iff (QuasilinearOn.{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)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s f) (Or (MonotoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s) (AntitoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s)))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u1} Ξ²] {s : Set.{u2} π•œ} {f : π•œ -> Ξ²}, (Convex.{u2, u2} π•œ π•œ (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)))))) (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)))))) s) -> (Iff (QuasilinearOn.{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} Ξ² _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)))))) s f) (Or (MonotoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s) (AntitoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s)))
-Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_monotone_on_or_antitone_on quasilinearOn_iff_monotoneOn_or_antitoneOnβ‚“'. -/
 theorem quasilinearOn_iff_monotoneOn_or_antitoneOn (hs : Convex π•œ s) :
     QuasilinearOn π•œ s f ↔ MonotoneOn f s ∨ AntitoneOn f s :=
   ⟨fun h => h.monotoneOn_or_antitoneOn, fun h =>
Diff
@@ -186,10 +186,7 @@ theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn 
 #align quasiconcave_on.inf QuasiconcaveOn.inf
 
 /- warning: quasiconvex_on_iff_le_max -> quasiconvexOn_iff_le_max 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconvex_on_iff_le_max quasiconvexOn_iff_le_maxβ‚“'. -/
 theorem quasiconvexOn_iff_le_max :
     QuasiconvexOn π•œ s f ↔
@@ -207,10 +204,7 @@ theorem quasiconvexOn_iff_le_max :
 #align quasiconvex_on_iff_le_max quasiconvexOn_iff_le_max
 
 /- warning: quasiconcave_on_iff_min_le -> quasiconcaveOn_iff_min_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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_leβ‚“'. -/
 theorem quasiconcaveOn_iff_min_le :
     QuasiconcaveOn π•œ s f ↔
@@ -224,10 +218,7 @@ theorem quasiconcaveOn_iff_min_le :
 #align quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_le
 
 /- warning: quasilinear_on_iff_mem_uIcc -> quasilinearOn_iff_mem_uIcc 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))))))) -> (Membership.Mem.{u3, u3} Ξ² (Set.{u3} Ξ²) (Set.hasMem.{u3} Ξ²) (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))) (Set.uIcc.{u3} Ξ² (LinearOrder.toLattice.{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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))) -> (Membership.mem.{u1, u1} Ξ² (Set.{u1} Ξ²) (Set.instMembershipSet.{u1} Ξ²) (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))) (Set.uIcc.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² _inst_4))) (f x) (f y)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIccβ‚“'. -/
 theorem quasilinearOn_iff_mem_uIcc :
     QuasilinearOn π•œ s f ↔
Diff
@@ -82,7 +82,7 @@ variable {π•œ s f}
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconvex_on.dual QuasiconvexOn.dualβ‚“'. -/
 theorem QuasiconvexOn.dual : QuasiconvexOn π•œ s f β†’ QuasiconcaveOn π•œ s (toDual ∘ f) :=
   id
@@ -92,7 +92,7 @@ theorem QuasiconvexOn.dual : QuasiconvexOn π•œ s f β†’ QuasiconcaveOn π•œ s (t
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconcave_on.dual QuasiconcaveOn.dualβ‚“'. -/
 theorem QuasiconcaveOn.dual : QuasiconcaveOn π•œ s f β†’ QuasiconvexOn π•œ s (toDual ∘ f) :=
   id
@@ -102,7 +102,7 @@ theorem QuasiconcaveOn.dual : QuasiconcaveOn π•œ s f β†’ QuasiconvexOn π•œ s (
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasilinear_on.dual QuasilinearOn.dualβ‚“'. -/
 theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (toDual ∘ f) :=
   And.symm
Diff
@@ -110,7 +110,7 @@ theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (to
 
 /- warning: convex.quasiconvex_on_of_convex_le -> Convex.quasiconvexOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
 Case conversion may be inaccurate. Consider using '#align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_leβ‚“'. -/
@@ -120,7 +120,7 @@ theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Conve
 
 /- warning: convex.quasiconcave_on_of_convex_ge -> Convex.quasiconcaveOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
 Case conversion may be inaccurate. Consider using '#align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_geβ‚“'. -/
@@ -131,7 +131,7 @@ theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Conv
 
 /- warning: quasiconvex_on.convex -> QuasiconvexOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564 : Ξ²) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564)], (QuasiconvexOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
 Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex QuasiconvexOn.convexβ‚“'. -/
@@ -143,7 +143,7 @@ theorem QuasiconvexOn.convex [IsDirected Ξ² (Β· ≀ Β·)] (hf : QuasiconvexOn 
 
 /- warning: quasiconcave_on.convex -> QuasiconcaveOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (GE.ge.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : AddCommMonoid.{u2} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (GE.ge.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685 : Ξ²) => GE.ge.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685)], (QuasiconcaveOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
 Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex QuasiconcaveOn.convexβ‚“'. -/
@@ -187,7 +187,7 @@ theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn 
 
 /- warning: quasiconvex_on_iff_le_max -> quasiconvexOn_iff_le_max 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconvex_on_iff_le_max quasiconvexOn_iff_le_maxβ‚“'. -/
@@ -208,7 +208,7 @@ theorem quasiconvexOn_iff_le_max :
 
 /- warning: quasiconcave_on_iff_min_le -> quasiconcaveOn_iff_min_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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_leβ‚“'. -/
@@ -225,7 +225,7 @@ theorem quasiconcaveOn_iff_min_le :
 
 /- warning: quasilinear_on_iff_mem_uIcc -> quasilinearOn_iff_mem_uIcc 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))))))) -> (Membership.Mem.{u3, u3} Ξ² (Set.{u3} Ξ²) (Set.hasMem.{u3} Ξ²) (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))) (Set.uIcc.{u3} Ξ² (LinearOrder.toLattice.{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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))))))) -> (Membership.Mem.{u3, u3} Ξ² (Set.{u3} Ξ²) (Set.hasMem.{u3} Ξ²) (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))) (Set.uIcc.{u3} Ξ² (LinearOrder.toLattice.{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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))) -> (Membership.mem.{u1, u1} Ξ² (Set.{u1} Ξ²) (Set.instMembershipSet.{u1} Ξ²) (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))) (Set.uIcc.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² _inst_4))) (f x) (f y)))))))
 Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIccβ‚“'. -/
@@ -246,7 +246,7 @@ theorem quasilinearOn_iff_mem_uIcc :
 
 /- warning: quasiconvex_on.convex_lt -> QuasiconvexOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) (f x) r))))
 Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex_lt QuasiconvexOn.convex_ltβ‚“'. -/
@@ -260,7 +260,7 @@ theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
 
 /- warning: quasiconcave_on.convex_gt -> QuasiconcaveOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) r (f x)))))
 Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gtβ‚“'. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
 
 ! This file was ported from Lean 3 source module analysis.convex.quasiconvex
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
+! leanprover-community/mathlib commit 9a48a083b390d9b84a71efbdc4e8dfa26a687104
 ! 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.Function
 /-!
 # Quasiconvex and quasiconcave functions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file defines quasiconvexity, quasiconcavity and quasilinearity of functions, which are
 generalizations of unimodality and monotonicity. Convexity implies quasiconvexity, concavity implies
 quasiconcavity, and monotonicity implies quasilinearity.
Diff
@@ -48,54 +48,102 @@ section OrderedAddCommMonoid
 
 variable (π•œ) [OrderedAddCommMonoid Ξ²] [SMul π•œ E] (s : Set E) (f : E β†’ Ξ²)
 
+#print QuasiconvexOn /-
 /-- A function is quasiconvex if all its sublevels are convex.
 This means that, for all `r`, `{x ∈ s | f x ≀ r}` is `π•œ`-convex. -/
 def QuasiconvexOn : Prop :=
   βˆ€ r, Convex π•œ ({ x ∈ s | f x ≀ r })
 #align quasiconvex_on QuasiconvexOn
+-/
 
+#print QuasiconcaveOn /-
 /-- A function is quasiconcave if all its superlevels are convex.
 This means that, for all `r`, `{x ∈ s | r ≀ f x}` is `π•œ`-convex. -/
 def QuasiconcaveOn : Prop :=
   βˆ€ r, Convex π•œ ({ x ∈ s | r ≀ f x })
 #align quasiconcave_on QuasiconcaveOn
+-/
 
+#print QuasilinearOn /-
 /-- A function is quasilinear if it is both quasiconvex and quasiconcave.
 This means that, for all `r`,
 the sets `{x ∈ s | f x ≀ r}` and `{x ∈ s | r ≀ f x}` are `π•œ`-convex. -/
 def QuasilinearOn : Prop :=
   QuasiconvexOn π•œ s f ∧ QuasiconcaveOn π•œ s f
 #align quasilinear_on QuasilinearOn
+-/
 
 variable {π•œ s f}
 
+/- warning: quasiconvex_on.dual -> QuasiconvexOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconvex_on.dual QuasiconvexOn.dualβ‚“'. -/
 theorem QuasiconvexOn.dual : QuasiconvexOn π•œ s f β†’ QuasiconcaveOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconvex_on.dual QuasiconvexOn.dual
 
+/- warning: quasiconcave_on.dual -> QuasiconcaveOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconcave_on.dual QuasiconcaveOn.dualβ‚“'. -/
 theorem QuasiconcaveOn.dual : QuasiconcaveOn π•œ s f β†’ QuasiconvexOn π•œ s (toDual ∘ f) :=
   id
 #align quasiconcave_on.dual QuasiconcaveOn.dual
 
+/- warning: quasilinear_on.dual -> QuasilinearOn.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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u1, u2, u3} π•œ E (OrderDual.{u3} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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_4 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (QuasilinearOn.{u3, u2, u1} π•œ E (OrderDual.{u1} Ξ²) _inst_1 _inst_2 (OrderDual.orderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasilinear_on.dual QuasilinearOn.dualβ‚“'. -/
 theorem QuasilinearOn.dual : QuasilinearOn π•œ s f β†’ QuasilinearOn π•œ s (toDual ∘ f) :=
   And.symm
 #align quasilinear_on.dual QuasilinearOn.dual
 
+/- warning: convex.quasiconvex_on_of_convex_le -> Convex.quasiconvexOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) (f x) r))) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
+Case conversion may be inaccurate. Consider using '#align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_leβ‚“'. -/
 theorem Convex.quasiconvexOn_of_convex_le (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | f x ≀ r }) :
     QuasiconvexOn π•œ s f := fun r => hs.inter (h r)
 #align convex.quasiconvex_on_of_convex_le Convex.quasiconvexOn_of_convex_le
 
+/- warning: convex.quasiconcave_on_of_convex_ge -> Convex.quasiconcaveOn_of_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_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 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 : OrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 s) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 (setOf.{u2} E (fun (x : E) => LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² _inst_4))) r (f x)))) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f)
+Case conversion may be inaccurate. Consider using '#align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_geβ‚“'. -/
 theorem Convex.quasiconcaveOn_of_convex_ge (hs : Convex π•œ s) (h : βˆ€ r, Convex π•œ { x | r ≀ f x }) :
     QuasiconcaveOn π•œ s f :=
   @Convex.quasiconvexOn_of_convex_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ hs h
 #align convex.quasiconcave_on_of_convex_ge Convex.quasiconcaveOn_of_convex_ge
 
+/- warning: quasiconvex_on.convex -> QuasiconvexOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564 : Ξ²) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.562 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.564)], (QuasiconvexOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
+Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex QuasiconvexOn.convexβ‚“'. -/
 theorem QuasiconvexOn.convex [IsDirected Ξ² (Β· ≀ Β·)] (hf : QuasiconvexOn π•œ s f) : Convex π•œ s :=
   fun x hx y hy a b ha hb hab =>
   let ⟨z, hxz, hyz⟩ := exists_ge_ge (f x) (f y)
   (hf _ ⟨hx, hxz⟩ ⟨hy, hyz⟩ ha hb hab).1
 #align quasiconvex_on.convex QuasiconvexOn.convex
 
+/- warning: quasiconcave_on.convex -> QuasiconcaveOn.convex 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 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (GE.ge.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))))], (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 s)
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u2} π•œ] [_inst_2 : AddCommMonoid.{u1} E] [_inst_4 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u2, u1} π•œ E] {s : Set.{u1} E} {f : E -> Ξ²} [_inst_6 : IsDirected.{u3} Ξ² (fun (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 : Ξ²) (x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685 : Ξ²) => GE.ge.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_4))) x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.683 x._@.Mathlib.Analysis.Convex.Quasiconvex._hyg.685)], (QuasiconcaveOn.{u2, u1, u3} π•œ E Ξ² _inst_1 _inst_2 _inst_4 _inst_5 s f) -> (Convex.{u2, u1} π•œ E _inst_1 _inst_2 _inst_5 s)
+Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex QuasiconcaveOn.convexβ‚“'. -/
 theorem QuasiconcaveOn.convex [IsDirected Ξ² (Β· β‰₯ Β·)] (hf : QuasiconcaveOn π•œ s f) : Convex π•œ s :=
   hf.dual.Convex
 #align quasiconcave_on.convex QuasiconcaveOn.convex
@@ -110,6 +158,12 @@ section SMul
 
 variable [SMul π•œ E] {s : Set E} {f g : E β†’ Ξ²}
 
+/- warning: quasiconvex_on.sup -> QuasiconvexOn.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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s g) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s g) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconvex_on.sup QuasiconvexOn.supβ‚“'. -/
 theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ s g) :
     QuasiconvexOn π•œ s (f βŠ” g) := by
   intro r
@@ -117,11 +171,23 @@ theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ
   exact (hf r).inter (hg r)
 #align quasiconvex_on.sup QuasiconvexOn.sup
 
+/- warning: quasiconcave_on.inf -> QuasiconcaveOn.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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s g) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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] {s : Set.{u2} E} {f : E -> Ξ²} {g : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s g) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 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 quasiconcave_on.inf QuasiconcaveOn.infβ‚“'. -/
 theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn π•œ s g) :
     QuasiconcaveOn π•œ s (f βŠ“ g) :=
   hf.dual.sup hg
 #align quasiconcave_on.inf QuasiconcaveOn.inf
 
+/- warning: quasiconvex_on_iff_le_max -> quasiconvexOn_iff_le_max 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconvex_on_iff_le_max quasiconvexOn_iff_le_maxβ‚“'. -/
 theorem quasiconvexOn_iff_le_max :
     QuasiconvexOn π•œ s f ↔
       Convex π•œ s ∧
@@ -137,6 +203,12 @@ theorem quasiconvexOn_iff_le_max :
     ⟨hf.1 hx.1 hy.1 ha hb hab, (hf.2 hx.1 hy.1 ha hb hab).trans <| max_le hx.2 hy.2⟩⟩
 #align quasiconvex_on_iff_le_max quasiconvexOn_iff_le_max
 
+/- warning: quasiconcave_on_iff_min_le -> quasiconcaveOn_iff_min_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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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 quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_leβ‚“'. -/
 theorem quasiconcaveOn_iff_min_le :
     QuasiconcaveOn π•œ s f ↔
       Convex π•œ s ∧
@@ -148,6 +220,12 @@ theorem quasiconcaveOn_iff_min_le :
   @quasiconvexOn_iff_le_max π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _
 #align quasiconcave_on_iff_min_le quasiconcaveOn_iff_min_le
 
+/- warning: quasilinear_on_iff_mem_uIcc -> quasilinearOn_iff_mem_uIcc 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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u1, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))))))) -> (Membership.Mem.{u3, u3} Ξ² (Set.{u3} Ξ²) (Set.hasMem.{u3} Ξ²) (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))) (Set.uIcc.{u3} Ξ² (LinearOrder.toLattice.{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] {s : Set.{u2} E} {f : E -> Ξ²}, Iff (QuasilinearOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) (And (Convex.{u3, u2} π•œ E _inst_1 _inst_2 _inst_5 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} π•œ (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))))) -> (Membership.mem.{u1, u1} Ξ² (Set.{u1} Ξ²) (Set.instMembershipSet.{u1} Ξ²) (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))) (Set.uIcc.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommMonoid.toLinearOrder.{u1} Ξ² _inst_4))) (f x) (f y)))))))
+Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIccβ‚“'. -/
 theorem quasilinearOn_iff_mem_uIcc :
     QuasilinearOn π•œ s f ↔
       Convex π•œ s ∧
@@ -163,6 +241,12 @@ theorem quasilinearOn_iff_mem_uIcc :
   simp_rw [← forall_and, ← Icc_min_max, mem_Icc, and_comm']
 #align quasilinear_on_iff_mem_uIcc quasilinearOn_iff_mem_uIcc
 
+/- warning: quasiconvex_on.convex_lt -> QuasiconvexOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) (f x) r))))
+Case conversion may be inaccurate. Consider using '#align quasiconvex_on.convex_lt QuasiconvexOn.convex_ltβ‚“'. -/
 theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
     Convex π•œ ({ x ∈ s | f x < r }) :=
   by
@@ -171,6 +255,12 @@ theorem QuasiconvexOn.convex_lt (hf : QuasiconvexOn π•œ s f) (r : Ξ²) :
   exact ⟨h.1, h.2.trans_lt <| max_lt hx.2 hy.2⟩
 #align quasiconvex_on.convex_lt QuasiconvexOn.convex_lt
 
+/- warning: quasiconcave_on.convex_gt -> QuasiconcaveOn.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 : LinearOrderedAddCommMonoid.{u3} Ξ²] [_inst_5 : SMul.{u1, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u1, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{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 : LinearOrderedAddCommMonoid.{u1} Ξ²] [_inst_5 : SMul.{u3, u2} π•œ E] {s : Set.{u2} E} {f : E -> Ξ²}, (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f) -> (forall (r : Ξ²), Convex.{u3, u2} π•œ E _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} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4)))) r (f x)))))
+Case conversion may be inaccurate. Consider using '#align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gtβ‚“'. -/
 theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn π•œ s f) (r : Ξ²) :
     Convex π•œ ({ x ∈ s | r < f x }) :=
   hf.dual.convex_lt r
@@ -182,10 +272,22 @@ section OrderedSMul
 
 variable [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²}
 
+/- warning: convex_on.quasiconvex_on -> ConvexOn.quasiconvexOn 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) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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 : 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) -> (QuasiconvexOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f)
+Case conversion may be inaccurate. Consider using '#align convex_on.quasiconvex_on ConvexOn.quasiconvexOnβ‚“'. -/
 theorem ConvexOn.quasiconvexOn (hf : ConvexOn π•œ s f) : QuasiconvexOn π•œ s f :=
   hf.convex_le
 #align convex_on.quasiconvex_on ConvexOn.quasiconvexOn
 
+/- warning: concave_on.quasiconcave_on -> ConcaveOn.quasiconcaveOn 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) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² _inst_4) _inst_5 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 : 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) -> (QuasiconcaveOn.{u3, u2, u1} π•œ E Ξ² _inst_1 _inst_2 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_4) _inst_5 s f)
+Case conversion may be inaccurate. Consider using '#align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOnβ‚“'. -/
 theorem ConcaveOn.quasiconcaveOn (hf : ConcaveOn π•œ s f) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge
 #align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOn
@@ -201,50 +303,122 @@ section LinearOrderedAddCommMonoid
 variable [LinearOrderedAddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [OrderedSMul π•œ E]
   {s : Set E} {f : E β†’ Ξ²}
 
+/- warning: monotone_on.quasiconvex_on -> MonotoneOn.quasiconvexOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align monotone_on.quasiconvex_on MonotoneOn.quasiconvexOnβ‚“'. -/
 theorem MonotoneOn.quasiconvexOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align monotone_on.quasiconvex_on MonotoneOn.quasiconvexOn
 
+/- warning: monotone_on.quasiconcave_on -> MonotoneOn.quasiconcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align monotone_on.quasiconcave_on MonotoneOn.quasiconcaveOnβ‚“'. -/
 theorem MonotoneOn.quasiconcaveOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align monotone_on.quasiconcave_on MonotoneOn.quasiconcaveOn
 
+/- warning: monotone_on.quasilinear_on -> MonotoneOn.quasilinearOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (MonotoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (MonotoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align monotone_on.quasilinear_on MonotoneOn.quasilinearOnβ‚“'. -/
 theorem MonotoneOn.quasilinearOn (hf : MonotoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align monotone_on.quasilinear_on MonotoneOn.quasilinearOn
 
+/- warning: antitone_on.quasiconvex_on -> AntitoneOn.quasiconvexOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align antitone_on.quasiconvex_on AntitoneOn.quasiconvexOnβ‚“'. -/
 theorem AntitoneOn.quasiconvexOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconvexOn π•œ s f :=
   hf.convex_le hs
 #align antitone_on.quasiconvex_on AntitoneOn.quasiconvexOn
 
+/- warning: antitone_on.quasiconcave_on -> AntitoneOn.quasiconcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align antitone_on.quasiconcave_on AntitoneOn.quasiconcaveOnβ‚“'. -/
 theorem AntitoneOn.quasiconcaveOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasiconcaveOn π•œ s f :=
   hf.convex_ge hs
 #align antitone_on.quasiconcave_on AntitoneOn.quasiconcaveOn
 
+/- warning: antitone_on.quasilinear_on -> AntitoneOn.quasilinearOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {s : Set.{u2} E} {f : E -> Ξ²}, (AntitoneOn.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f s) -> (Convex.{u1, u2} π•œ E _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) s f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {s : Set.{u3} E} {f : E -> Ξ²}, (AntitoneOn.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f s) -> (Convex.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) s f)
+Case conversion may be inaccurate. Consider using '#align antitone_on.quasilinear_on AntitoneOn.quasilinearOnβ‚“'. -/
 theorem AntitoneOn.quasilinearOn (hf : AntitoneOn f s) (hs : Convex π•œ s) : QuasilinearOn π•œ s f :=
   ⟨hf.QuasiconvexOn hs, hf.QuasiconcaveOn hs⟩
 #align antitone_on.quasilinear_on AntitoneOn.quasilinearOn
 
+/- warning: monotone.quasiconvex_on -> Monotone.quasiconvexOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align monotone.quasiconvex_on Monotone.quasiconvexOnβ‚“'. -/
 theorem Monotone.quasiconvexOn (hf : Monotone f) : QuasiconvexOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconvexOn convex_univ
 #align monotone.quasiconvex_on Monotone.quasiconvexOn
 
+/- warning: monotone.quasiconcave_on -> Monotone.quasiconcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align monotone.quasiconcave_on Monotone.quasiconcaveOnβ‚“'. -/
 theorem Monotone.quasiconcaveOn (hf : Monotone f) : QuasiconcaveOn π•œ univ f :=
   (hf.MonotoneOn _).QuasiconcaveOn convex_univ
 #align monotone.quasiconcave_on Monotone.quasiconcaveOn
 
+/- warning: monotone.quasilinear_on -> Monotone.quasilinearOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Monotone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Monotone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align monotone.quasilinear_on Monotone.quasilinearOnβ‚“'. -/
 theorem Monotone.quasilinearOn (hf : Monotone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align monotone.quasilinear_on Monotone.quasilinearOn
 
+/- warning: antitone.quasiconvex_on -> Antitone.quasiconvexOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconvexOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align antitone.quasiconvex_on Antitone.quasiconvexOnβ‚“'. -/
 theorem Antitone.quasiconvexOn (hf : Antitone f) : QuasiconvexOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconvexOn convex_univ
 #align antitone.quasiconvex_on Antitone.quasiconvexOn
 
+/- warning: antitone.quasiconcave_on -> Antitone.quasiconcaveOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasiconcaveOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align antitone.quasiconcave_on Antitone.quasiconcaveOnβ‚“'. -/
 theorem Antitone.quasiconcaveOn (hf : Antitone f) : QuasiconcaveOn π•œ univ f :=
   (hf.AntitoneOn _).QuasiconcaveOn convex_univ
 #align antitone.quasiconcave_on Antitone.quasiconcaveOn
 
+/- warning: antitone.quasilinear_on -> Antitone.quasilinearOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} E] [_inst_3 : OrderedAddCommMonoid.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))] [_inst_5 : OrderedSMul.{u1, u2} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4))] {f : E -> Ξ²}, (Antitone.{u2, u3} E Ξ² (PartialOrder.toPreorder.{u2} E (OrderedAddCommMonoid.toPartialOrder.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))) (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u3} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u2, u3} π•œ E Ξ² _inst_1 (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_3 (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u1, u2} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (OrderedAddCommMonoid.toAddCommMonoid.{u2} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} E _inst_2)) _inst_4)))) (Set.univ.{u2} E) f)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u3}} {Ξ² : Type.{u2}} [_inst_1 : OrderedSemiring.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u3} E] [_inst_3 : OrderedAddCommMonoid.{u2} Ξ²] [_inst_4 : Module.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : OrderedSMul.{u1, u3} π•œ E _inst_1 (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (OrderedAddCommMonoid.toAddCommMonoid.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2)))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4))] {f : E -> Ξ²}, (Antitone.{u3, u2} E Ξ² (PartialOrder.toPreorder.{u3} E (OrderedAddCommMonoid.toPartialOrder.{u3} E (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u3} E _inst_2))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² _inst_3)) f) -> (QuasilinearOn.{u1, u3, u2} π•œ E Ξ² _inst_1 (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_3 (SMulZeroClass.toSMul.{u1, u3} π•œ E (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (SMulWithZero.toSMulZeroClass.{u1, u3} π•œ E (MonoidWithZero.toZero.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1))) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (OrderedSemiring.toSemiring.{u1} π•œ _inst_1)) (AddMonoid.toZero.{u3} E (AddCommMonoid.toAddMonoid.{u3} E (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2))) (Module.toMulActionWithZero.{u1, u3} π•œ E (OrderedSemiring.toSemiring.{u1} π•œ _inst_1) (LinearOrderedAddCommMonoid.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (Set.univ.{u3} E) f)
+Case conversion may be inaccurate. Consider using '#align antitone.quasilinear_on Antitone.quasilinearOnβ‚“'. -/
 theorem Antitone.quasilinearOn (hf : Antitone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.QuasiconvexOn, hf.QuasiconcaveOn⟩
 #align antitone.quasilinear_on Antitone.quasilinearOn
@@ -257,6 +431,12 @@ section LinearOrderedField
 
 variable [LinearOrderedField π•œ] [LinearOrderedAddCommMonoid Ξ²] {s : Set π•œ} {f : π•œ β†’ Ξ²}
 
+/- warning: quasilinear_on.monotone_on_or_antitone_on -> QuasilinearOn.monotoneOn_or_antitoneOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} Ξ²] {s : Set.{u1} π•œ} {f : π•œ -> Ξ²}, (QuasilinearOn.{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)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s f) -> (Or (MonotoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s) (AntitoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u1} Ξ²] {s : Set.{u2} π•œ} {f : π•œ -> Ξ²}, (QuasilinearOn.{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} Ξ² _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)))))) s f) -> (Or (MonotoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s) (AntitoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s))
+Case conversion may be inaccurate. Consider using '#align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOnβ‚“'. -/
 theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
     MonotoneOn f s ∨ AntitoneOn f s :=
   by
@@ -265,6 +445,12 @@ theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
   refine' ⟨((hf.2 _).segment_subset _ _ h).2, ((hf.1 _).segment_subset _ _ h).2⟩ <;> simp [*]
 #align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOn
 
+/- warning: quasilinear_on_iff_monotone_on_or_antitone_on -> quasilinearOn_iff_monotoneOn_or_antitoneOn is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {Ξ² : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u2} Ξ²] {s : Set.{u1} π•œ} {f : π•œ -> Ξ²}, (Convex.{u1, u1} π•œ π•œ (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)))))) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s) -> (Iff (QuasilinearOn.{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)))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2) (Mul.toSMul.{u1} π•œ (Distrib.toHasMul.{u1} π•œ (Ring.toDistrib.{u1} π•œ (DivisionRing.toRing.{u1} π•œ (Field.toDivisionRing.{u1} π•œ (LinearOrderedField.toField.{u1} π•œ _inst_1)))))) s f) (Or (MonotoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s) (AntitoneOn.{u1, u2} π•œ Ξ² (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² _inst_2))) f s)))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : LinearOrderedAddCommMonoid.{u1} Ξ²] {s : Set.{u2} π•œ} {f : π•œ -> Ξ²}, (Convex.{u2, u2} π•œ π•œ (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)))))) (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)))))) s) -> (Iff (QuasilinearOn.{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} Ξ² _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)))))) s f) (Or (MonotoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s) (AntitoneOn.{u2, u1} π•œ Ξ² (PartialOrder.toPreorder.{u2} π•œ (StrictOrderedRing.toPartialOrder.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommMonoid.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² _inst_2))) f s)))
+Case conversion may be inaccurate. Consider using '#align quasilinear_on_iff_monotone_on_or_antitone_on quasilinearOn_iff_monotoneOn_or_antitoneOnβ‚“'. -/
 theorem quasilinearOn_iff_monotoneOn_or_antitoneOn (hs : Convex π•œ s) :
     QuasilinearOn π•œ s f ↔ MonotoneOn f s ∨ AntitoneOn f s :=
   ⟨fun h => h.monotoneOn_or_antitoneOn, fun h =>

Changes in mathlib4

mathlib3
mathlib4
chore: quasiconvexity doesn't need an additive structure on the codomain (#6494)
Diff
@@ -37,13 +37,13 @@ section OrderedSemiring
 
 variable [OrderedSemiring π•œ]
 
-section AddCommMonoid
+section AddCommMonoid_E
 
 variable [AddCommMonoid E] [AddCommMonoid F]
 
-section OrderedAddCommMonoid
+section LE_Ξ²
 
-variable (π•œ) [OrderedAddCommMonoid Ξ²] [SMul π•œ E] (s : Set E) (f : E β†’ Ξ²)
+variable (π•œ) [LE Ξ²] [SMul π•œ E] (s : Set E) (f : E β†’ Ξ²)
 
 /-- A function is quasiconvex if all its sublevels are convex.
 This means that, for all `r`, `{x ∈ s | f x ≀ r}` is `π•œ`-convex. -/
@@ -97,28 +97,30 @@ theorem QuasiconcaveOn.convex [IsDirected Ξ² (Β· β‰₯ Β·)] (hf : QuasiconcaveOn 
   hf.dual.convex
 #align quasiconcave_on.convex QuasiconcaveOn.convex
 
-end OrderedAddCommMonoid
+end LE_Ξ²
 
-section LinearOrderedAddCommMonoid
-
-variable [LinearOrderedAddCommMonoid Ξ²]
-
-section SMul
+section Semilattice_Ξ²
 
 variable [SMul π•œ E] {s : Set E} {f g : E β†’ Ξ²}
 
-theorem QuasiconvexOn.sup (hf : QuasiconvexOn π•œ s f) (hg : QuasiconvexOn π•œ s g) :
-    QuasiconvexOn π•œ s (f βŠ” g) := by
+theorem QuasiconvexOn.sup [SemilatticeSup Ξ²] (hf : QuasiconvexOn π•œ s f)
+    (hg : QuasiconvexOn π•œ s g) : QuasiconvexOn π•œ s (f βŠ” g) := by
   intro r
   simp_rw [Pi.sup_def, sup_le_iff, Set.sep_and]
   exact (hf r).inter (hg r)
 #align quasiconvex_on.sup QuasiconvexOn.sup
 
-theorem QuasiconcaveOn.inf (hf : QuasiconcaveOn π•œ s f) (hg : QuasiconcaveOn π•œ s g) :
-    QuasiconcaveOn π•œ s (f βŠ“ g) :=
+theorem QuasiconcaveOn.inf [SemilatticeInf Ξ²] (hf : QuasiconcaveOn π•œ s f)
+    (hg : QuasiconcaveOn π•œ s g) : QuasiconcaveOn π•œ s (f βŠ“ g) :=
   hf.dual.sup hg
 #align quasiconcave_on.inf QuasiconcaveOn.inf
 
+end Semilattice_Ξ²
+
+section LinearOrder_Ξ²
+
+variable [LinearOrder Ξ²] [SMul π•œ E] {s : Set E} {f g : E β†’ Ξ²}
+
 theorem quasiconvexOn_iff_le_max : QuasiconvexOn π•œ s f ↔ Convex π•œ s ∧ βˆ€ ⦃x⦄, x ∈ s β†’ βˆ€ ⦃y⦄,
     y ∈ s β†’ βˆ€ ⦃a b : π•œβ¦„, 0 ≀ a β†’ 0 ≀ b β†’ a + b = 1 β†’ f (a β€’ x + b β€’ y) ≀ max (f x) (f y) :=
   ⟨fun hf =>
@@ -153,11 +155,12 @@ theorem QuasiconcaveOn.convex_gt (hf : QuasiconcaveOn π•œ s f) (r : Ξ²) :
   hf.dual.convex_lt r
 #align quasiconcave_on.convex_gt QuasiconcaveOn.convex_gt
 
-end SMul
+end LinearOrder_Ξ²
 
-section OrderedSMul
+section OrderedSMul_Ξ²
 
-variable [SMul π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²}
+variable [OrderedAddCommMonoid Ξ²] [Module π•œ E] [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²]
+  {s : Set E} {f : E β†’ Ξ²}
 
 theorem ConvexOn.quasiconvexOn (hf : ConvexOn π•œ s f) : QuasiconvexOn π•œ s f :=
   hf.convex_le
@@ -167,13 +170,11 @@ theorem ConcaveOn.quasiconcaveOn (hf : ConcaveOn π•œ s f) : QuasiconcaveOn π•œ
   hf.convex_ge
 #align concave_on.quasiconcave_on ConcaveOn.quasiconcaveOn
 
-end OrderedSMul
-
-end LinearOrderedAddCommMonoid
+end OrderedSMul_Ξ²
 
-end AddCommMonoid
+end AddCommMonoid_E
 
-section LinearOrderedAddCommMonoid
+section LinearOrderedAddCommMonoid_E
 
 variable [LinearOrderedAddCommMonoid E] [OrderedAddCommMonoid Ξ²] [Module π•œ E] [OrderedSMul π•œ E]
   {s : Set E} {f : E β†’ Ξ²}
@@ -226,23 +227,23 @@ theorem Antitone.quasilinearOn (hf : Antitone f) : QuasilinearOn π•œ univ f :=
   ⟨hf.quasiconvexOn, hf.quasiconcaveOn⟩
 #align antitone.quasilinear_on Antitone.quasilinearOn
 
-end LinearOrderedAddCommMonoid
+end LinearOrderedAddCommMonoid_E
 
 end OrderedSemiring
 
 section LinearOrderedField
 
-variable [LinearOrderedField π•œ] [LinearOrderedAddCommMonoid Ξ²] {s : Set π•œ} {f : π•œ β†’ Ξ²}
+variable [LinearOrderedField π•œ] {s : Set π•œ} {f : π•œ β†’ Ξ²}
 
-theorem QuasilinearOn.monotoneOn_or_antitoneOn (hf : QuasilinearOn π•œ s f) :
+theorem QuasilinearOn.monotoneOn_or_antitoneOn [LinearOrder Ξ²] (hf : QuasilinearOn π•œ s f) :
     MonotoneOn f s ∨ AntitoneOn f s := by
   simp_rw [monotoneOn_or_antitoneOn_iff_uIcc, ← segment_eq_uIcc]
   rintro a ha b hb c _ h
   refine' ⟨((hf.2 _).segment_subset _ _ h).2, ((hf.1 _).segment_subset _ _ h).2⟩ <;> simp [*]
 #align quasilinear_on.monotone_on_or_antitone_on QuasilinearOn.monotoneOn_or_antitoneOn
 
-theorem quasilinearOn_iff_monotoneOn_or_antitoneOn (hs : Convex π•œ s) :
-    QuasilinearOn π•œ s f ↔ MonotoneOn f s ∨ AntitoneOn f s :=
+theorem quasilinearOn_iff_monotoneOn_or_antitoneOn [LinearOrderedAddCommMonoid Ξ²]
+    (hs : Convex π•œ s) : QuasilinearOn π•œ s f ↔ MonotoneOn f s ∨ AntitoneOn f s :=
   ⟨fun h => h.monotoneOn_or_antitoneOn, fun h =>
     h.elim (fun h => h.quasilinearOn hs) fun h => h.quasilinearOn hs⟩
 #align quasilinear_on_iff_monotone_on_or_antitone_on quasilinearOn_iff_monotoneOn_or_antitoneOn
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
@@ -31,7 +31,7 @@ quasiconcavity, and monotonicity implies quasilinearity.
 
 open Function OrderDual Set
 
-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,14 +2,11 @@
 Copyright (c) 2021 YaΓ«l Dillies. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: YaΓ«l Dillies
-
-! This file was ported from Lean 3 source module analysis.convex.quasiconvex
-! leanprover-community/mathlib commit 9003f28797c0664a49e4179487267c494477d853
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Function
 
+#align_import analysis.convex.quasiconvex from "leanprover-community/mathlib"@"9003f28797c0664a49e4179487267c494477d853"
+
 /-!
 # Quasiconvex and quasiconcave functions
 
feat: port Analysis.Convex.Quasiconvex (#3412)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Dependencies 9 + 421

422 files ported (97.9%)
173678 lines ported (98.1%)
Show graph

The unported dependencies are