analysis.convex.jensen ⟷ Mathlib.Analysis.Convex.Jensen

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -123,7 +123,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   by
   set y := t.center_mass w p
   rsuffices ⟨i, hi, hfi⟩ : βˆƒ i ∈ t.filter fun i => w i β‰  0, w i β€’ f y ≀ w i β€’ (f ∘ p) i
-  Β· rw [mem_filter] at hi 
+  Β· rw [mem_filter] at hi
     exact ⟨i, hi.1, (smul_le_smul_iff_of_pos_left <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
   have hw' : (0 : π•œ) < βˆ‘ i in Filter (fun i => w i β‰  0) t, w i := by rwa [sum_filter_ne_zero]
   refine' exists_le_of_sum_le (nonempty_of_sum_ne_zero hw'.ne') _
@@ -149,7 +149,7 @@ then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f x ≀ f y :=
   by
-  rw [_root_.convex_hull_eq] at hx 
+  rw [_root_.convex_hull_eq] at hx
   obtain ⟨α, t, w, p, hwβ‚€, hw₁, hp, rfl⟩ := hx
   rcases hf.exists_ge_of_center_mass hwβ‚€ (hw₁.symm β–Έ zero_lt_one) fun i hi =>
       subset_convexHull π•œ s (hp i hi) with
Diff
@@ -124,10 +124,10 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   set y := t.center_mass w p
   rsuffices ⟨i, hi, hfi⟩ : βˆƒ i ∈ t.filter fun i => w i β‰  0, w i β€’ f y ≀ w i β€’ (f ∘ p) i
   Β· rw [mem_filter] at hi 
-    exact ⟨i, hi.1, (smul_le_smul_iff_of_pos <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
+    exact ⟨i, hi.1, (smul_le_smul_iff_of_pos_left <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
   have hw' : (0 : π•œ) < βˆ‘ i in Filter (fun i => w i β‰  0) t, w i := by rwa [sum_filter_ne_zero]
   refine' exists_le_of_sum_le (nonempty_of_sum_ne_zero hw'.ne') _
-  rw [← sum_smul, ← smul_le_smul_iff_of_pos (inv_pos.2 hw'), inv_smul_smulβ‚€ hw'.ne', ←
+  rw [← sum_smul, ← smul_le_smul_iff_of_pos_left (inv_pos.2 hw'), inv_smul_smulβ‚€ hw'.ne', ←
     Finset.centerMass, Finset.centerMass_filter_ne_zero]
   exact h.map_center_mass_le hwβ‚€ hw₁ hp
   infer_instance
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Yury Kudriashov
 -/
-import Mathbin.Analysis.Convex.Combination
-import Mathbin.Analysis.Convex.Function
+import Analysis.Convex.Combination
+import Analysis.Convex.Function
 
 #align_import analysis.convex.jensen from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Yury Kudriashov
-
-! This file was ported from Lean 3 source module analysis.convex.jensen
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Analysis.Convex.Combination
 import Mathbin.Analysis.Convex.Function
 
+#align_import analysis.convex.jensen from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
 /-!
 # Jensen's inequality and maximum principle for convex functions
 
Diff
@@ -48,6 +48,7 @@ section Jensen
 variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Module π•œ E] [Module π•œ Ξ²]
   [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
 
+#print ConvexOn.map_centerMass_le /-
 /-- Convex **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -58,26 +59,33 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
   convert (hf.convex_epigraph.center_mass_mem hβ‚€ h₁ hmem').2 <;>
     simp only [center_mass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
+-/
 
+#print ConcaveOn.le_map_centerMass /-
 /-- Concave **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
     t.centerMass w (f ∘ p) ≀ f (t.centerMass w p) :=
   @ConvexOn.map_centerMass_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
+-/
 
+#print ConvexOn.map_sum_le /-
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
 theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : βˆ‘ i in t, w i = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i) := by
   simpa only [center_mass, h₁, inv_one, one_smul] using
     hf.map_center_mass_le hβ‚€ (h₁.symm β–Έ zero_lt_one) hmem
 #align convex_on.map_sum_le ConvexOn.map_sum_le
+-/
 
+#print ConcaveOn.le_map_sum /-
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : βˆ‘ i in t, w i = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : βˆ‘ i in t, w i β€’ f (p i) ≀ f (βˆ‘ i in t, w i β€’ p i) :=
   @ConvexOn.map_sum_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_sum ConcaveOn.le_map_sum
+-/
 
 end Jensen
 
@@ -90,6 +98,7 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup 
   [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
   {x : E}
 
+#print le_sup_of_mem_convexHull /-
 theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     f x ≀ s.sup' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f :=
@@ -99,13 +108,17 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
     (hf.map_center_mass_le hwβ‚€ (by positivity) <| subset_convexHull _ _).trans
       (center_mass_le_sup hwβ‚€ <| by positivity)
 #align le_sup_of_mem_convex_hull le_sup_of_mem_convexHull
+-/
 
+#print inf_le_of_mem_convexHull /-
 theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     s.inf' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f ≀ f x :=
   le_sup_of_mem_convexHull hf.dual hx
 #align inf_le_of_mem_convex_hull inf_le_of_mem_convexHull
+-/
 
+#print ConvexOn.exists_ge_of_centerMass /-
 /-- If a function `f` is convex on `s`, then the value it takes at some center of mass of points of
 `s` is less than the value it takes on one of those points. -/
 theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -122,14 +135,18 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   exact h.map_center_mass_le hwβ‚€ hw₁ hp
   infer_instance
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
+-/
 
+#print ConcaveOn.exists_le_of_centerMass /-
 /-- If a function `f` is concave on `s`, then the value it takes at some center of mass of points of
 `s` is greater than the value it takes on one of those points. -/
 theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (hw₁ : 0 < βˆ‘ i in t, w i) (hp : βˆ€ i ∈ t, p i ∈ s) : βˆƒ i ∈ t, f (p i) ≀ f (t.centerMass w p) :=
   @ConvexOn.exists_ge_of_centerMass π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ h hwβ‚€ hw₁ hp
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
+-/
 
+#print ConvexOn.exists_ge_of_mem_convexHull /-
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
 then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
@@ -142,13 +159,16 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
     ⟨i, hit, Hi⟩
   exact ⟨p i, hp i hit, Hi⟩
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
+-/
 
+#print ConcaveOn.exists_le_of_mem_convexHull /-
 /-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
 then the eventual minimum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f y ≀ f x :=
   @ConvexOn.exists_ge_of_mem_convexHull π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ hf _ hx
 #align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHull
+-/
 
 end MaximumPrinciple
 
Diff
@@ -67,16 +67,15 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
-theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
+theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : βˆ‘ i in t, w i = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i) := by
   simpa only [center_mass, h₁, inv_one, one_smul] using
     hf.map_center_mass_le hβ‚€ (h₁.symm β–Έ zero_lt_one) hmem
 #align convex_on.map_sum_le ConvexOn.map_sum_le
 
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
-theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
-    (h₁ : (βˆ‘ i in t, w i) = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
-    (βˆ‘ i in t, w i β€’ f (p i)) ≀ f (βˆ‘ i in t, w i β€’ p i) :=
+theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : βˆ‘ i in t, w i = 1)
+    (hmem : βˆ€ i ∈ t, p i ∈ s) : βˆ‘ i in t, w i β€’ f (p i) ≀ f (βˆ‘ i in t, w i β€’ p i) :=
   @ConvexOn.map_sum_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_sum ConcaveOn.le_map_sum
 
Diff
@@ -53,9 +53,9 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
     f (t.centerMass w p) ≀ t.centerMass w (f ∘ p) :=
   by
-  have hmem' : βˆ€ i ∈ t, (p i, (f ∘ p) i) ∈ { p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2 } := fun i hi =>
+  have hmem' : βˆ€ i ∈ t, (p i, (f ∘ p) i) ∈ {p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2} := fun i hi =>
     ⟨hmem i hi, le_rfl⟩
-  convert(hf.convex_epigraph.center_mass_mem hβ‚€ h₁ hmem').2 <;>
+  convert (hf.convex_epigraph.center_mass_mem hβ‚€ h₁ hmem').2 <;>
     simp only [center_mass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 
Diff
@@ -114,7 +114,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   by
   set y := t.center_mass w p
   rsuffices ⟨i, hi, hfi⟩ : βˆƒ i ∈ t.filter fun i => w i β‰  0, w i β€’ f y ≀ w i β€’ (f ∘ p) i
-  Β· rw [mem_filter] at hi
+  Β· rw [mem_filter] at hi 
     exact ⟨i, hi.1, (smul_le_smul_iff_of_pos <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
   have hw' : (0 : π•œ) < βˆ‘ i in Filter (fun i => w i β‰  0) t, w i := by rwa [sum_filter_ne_zero]
   refine' exists_le_of_sum_le (nonempty_of_sum_ne_zero hw'.ne') _
@@ -136,7 +136,7 @@ then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f x ≀ f y :=
   by
-  rw [_root_.convex_hull_eq] at hx
+  rw [_root_.convex_hull_eq] at hx 
   obtain ⟨α, t, w, p, hwβ‚€, hw₁, hp, rfl⟩ := hx
   rcases hf.exists_ge_of_center_mass hwβ‚€ (hw₁.symm β–Έ zero_lt_one) fun i hi =>
       subset_convexHull π•œ s (hp i hi) with
Diff
@@ -36,7 +36,7 @@ As corollaries, we get:
 
 open Finset LinearMap Set
 
-open BigOperators Classical Convex Pointwise
+open scoped BigOperators Classical Convex Pointwise
 
 variable {π•œ E F Ξ² ΞΉ : Type _}
 
Diff
@@ -48,9 +48,6 @@ section Jensen
 variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Module π•œ E] [Module π•œ Ξ²]
   [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
 
-/- warning: convex_on.map_center_mass_le -> ConvexOn.map_centerMass_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.map_center_mass_le ConvexOn.map_centerMass_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -62,9 +59,6 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
     simp only [center_mass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 
-/- warning: concave_on.le_map_center_mass -> ConcaveOn.le_map_centerMass is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.le_map_center_mass ConcaveOn.le_map_centerMassβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -72,9 +66,6 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   @ConvexOn.map_centerMass_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
-/- warning: convex_on.map_sum_le -> ConvexOn.map_sum_le is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.map_sum_le ConvexOn.map_sum_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
 theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i) := by
@@ -82,9 +73,6 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
     hf.map_center_mass_le hβ‚€ (h₁.symm β–Έ zero_lt_one) hmem
 #align convex_on.map_sum_le ConvexOn.map_sum_le
 
-/- warning: concave_on.le_map_sum -> ConcaveOn.le_map_sum is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.le_map_sum ConcaveOn.le_map_sumβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : (βˆ‘ i in t, w i) = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -103,9 +91,6 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup 
   [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
   {x : E}
 
-/- warning: le_sup_of_mem_convex_hull -> le_sup_of_mem_convexHull is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align le_sup_of_mem_convex_hull le_sup_of_mem_convexHullβ‚“'. -/
 theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     f x ≀ s.sup' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f :=
@@ -116,18 +101,12 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
       (center_mass_le_sup hwβ‚€ <| by positivity)
 #align le_sup_of_mem_convex_hull le_sup_of_mem_convexHull
 
-/- warning: inf_le_of_mem_convex_hull -> inf_le_of_mem_convexHull is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align inf_le_of_mem_convex_hull inf_le_of_mem_convexHullβ‚“'. -/
 theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     s.inf' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f ≀ f x :=
   le_sup_of_mem_convexHull hf.dual hx
 #align inf_le_of_mem_convex_hull inf_le_of_mem_convexHull
 
-/- warning: convex_on.exists_ge_of_center_mass -> ConvexOn.exists_ge_of_centerMass is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMassβ‚“'. -/
 /-- If a function `f` is convex on `s`, then the value it takes at some center of mass of points of
 `s` is less than the value it takes on one of those points. -/
 theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -145,9 +124,6 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   infer_instance
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
 
-/- warning: concave_on.exists_le_of_center_mass -> ConcaveOn.exists_le_of_centerMass is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMassβ‚“'. -/
 /-- If a function `f` is concave on `s`, then the value it takes at some center of mass of points of
 `s` is greater than the value it takes on one of those points. -/
 theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -155,9 +131,6 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
   @ConvexOn.exists_ge_of_centerMass π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ h hwβ‚€ hw₁ hp
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
 
-/- warning: convex_on.exists_ge_of_mem_convex_hull -> ConvexOn.exists_ge_of_mem_convexHull is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHullβ‚“'. -/
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
 then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
@@ -171,9 +144,6 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
   exact ⟨p i, hp i hit, Hi⟩
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
 
-/- warning: concave_on.exists_le_of_mem_convex_hull -> ConcaveOn.exists_le_of_mem_convexHull is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHullβ‚“'. -/
 /-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
 then the eventual minimum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
Diff
@@ -49,10 +49,7 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Mo
   [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
 
 /- warning: convex_on.map_center_mass_le -> ConvexOn.map_centerMass_le is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.map_center_mass_le ConvexOn.map_centerMass_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -66,10 +63,7 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 
 /- warning: concave_on.le_map_center_mass -> ConcaveOn.le_map_centerMass is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.le_map_center_mass ConcaveOn.le_map_centerMassβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -79,10 +73,7 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
 /- warning: convex_on.map_sum_le -> ConvexOn.map_sum_le is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.map_sum_le ConvexOn.map_sum_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
 theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
@@ -92,10 +83,7 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
 #align convex_on.map_sum_le ConvexOn.map_sum_le
 
 /- warning: concave_on.le_map_sum -> ConcaveOn.le_map_sum is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.le_map_sum ConcaveOn.le_map_sumβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -116,10 +104,7 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup 
   {x : E}
 
 /- warning: le_sup_of_mem_convex_hull -> le_sup_of_mem_convexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (Finset.sup'.{u3, u2} Ξ² E (Lattice.toSemilatticeSup.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConvexOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (Finset.sup'.{u1, u3} Ξ² E (Lattice.toSemilatticeSup.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align le_sup_of_mem_convex_hull le_sup_of_mem_convexHullβ‚“'. -/
 theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
@@ -132,10 +117,7 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
 #align le_sup_of_mem_convex_hull le_sup_of_mem_convexHull
 
 /- warning: inf_le_of_mem_convex_hull -> inf_le_of_mem_convexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (Finset.inf'.{u3, u2} Ξ² E (Lattice.toSemilatticeInf.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f) (f x))
-but is expected to have type
-  forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConcaveOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (Finset.inf'.{u1, u3} Ξ² E (Lattice.toSemilatticeInf.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f) (f x))
+<too large>
 Case conversion may be inaccurate. Consider using '#align inf_le_of_mem_convex_hull inf_le_of_mem_convexHullβ‚“'. -/
 theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
@@ -144,10 +126,7 @@ theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull
 #align inf_le_of_mem_convex_hull inf_le_of_mem_convexHull
 
 /- warning: convex_on.exists_ge_of_center_mass -> ConvexOn.exists_ge_of_centerMass is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMassβ‚“'. -/
 /-- If a function `f` is convex on `s`, then the value it takes at some center of mass of points of
 `s` is less than the value it takes on one of those points. -/
@@ -167,10 +146,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
 
 /- warning: concave_on.exists_le_of_center_mass -> ConcaveOn.exists_le_of_centerMass is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
-but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMassβ‚“'. -/
 /-- If a function `f` is concave on `s`, then the value it takes at some center of mass of points of
 `s` is greater than the value it takes on one of those points. -/
@@ -180,10 +156,7 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
 
 /- warning: convex_on.exists_ge_of_mem_convex_hull -> ConvexOn.exists_ge_of_mem_convexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (f y)))))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (f y)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHullβ‚“'. -/
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
 then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
@@ -199,10 +172,7 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
 
 /- warning: concave_on.exists_le_of_mem_convex_hull -> ConcaveOn.exists_le_of_mem_convexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f y) (f x)))))
-but is expected to have type
-  forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f y) (f x)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHullβ‚“'. -/
 /-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
 then the eventual minimum of `f` on `convex_hull π•œ s` lies in `s`. -/
Diff
@@ -50,7 +50,7 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Mo
 
 /- warning: convex_on.map_center_mass_le -> ConvexOn.map_centerMass_le is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)))
 Case conversion may be inaccurate. Consider using '#align convex_on.map_center_mass_le ConvexOn.map_centerMass_leβ‚“'. -/
@@ -67,7 +67,7 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
 
 /- warning: concave_on.le_map_center_mass -> ConcaveOn.le_map_centerMass is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
 Case conversion may be inaccurate. Consider using '#align concave_on.le_map_center_mass ConcaveOn.le_map_centerMassβ‚“'. -/
@@ -80,7 +80,7 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
 
 /- warning: convex_on.map_sum_le -> ConvexOn.map_sum_le is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.map_sum_le ConvexOn.map_sum_leβ‚“'. -/
@@ -93,7 +93,7 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
 
 /- warning: concave_on.le_map_sum -> ConcaveOn.le_map_sum is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.le_map_sum ConcaveOn.le_map_sumβ‚“'. -/
@@ -117,7 +117,7 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup 
 
 /- warning: le_sup_of_mem_convex_hull -> le_sup_of_mem_convexHull is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (Finset.sup'.{u3, u2} Ξ² E (Lattice.toSemilatticeSup.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (Finset.sup'.{u3, u2} Ξ² E (Lattice.toSemilatticeSup.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConvexOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (Finset.sup'.{u1, u3} Ξ² E (Lattice.toSemilatticeSup.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f))
 Case conversion may be inaccurate. Consider using '#align le_sup_of_mem_convex_hull le_sup_of_mem_convexHullβ‚“'. -/
@@ -133,7 +133,7 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
 
 /- warning: inf_le_of_mem_convex_hull -> inf_le_of_mem_convexHull is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (Finset.inf'.{u3, u2} Ξ² E (Lattice.toSemilatticeInf.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f) (f x))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (Finset.inf'.{u3, u2} Ξ² E (Lattice.toSemilatticeInf.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f) (f x))
 but is expected to have type
   forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConcaveOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (Finset.inf'.{u1, u3} Ξ² E (Lattice.toSemilatticeInf.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f) (f x))
 Case conversion may be inaccurate. Consider using '#align inf_le_of_mem_convex_hull inf_le_of_mem_convexHullβ‚“'. -/
@@ -145,7 +145,7 @@ theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull
 
 /- warning: convex_on.exists_ge_of_center_mass -> ConvexOn.exists_ge_of_centerMass is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMassβ‚“'. -/
@@ -168,7 +168,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
 
 /- warning: concave_on.exists_le_of_center_mass -> ConcaveOn.exists_le_of_centerMass is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toHasLe.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toHasLt.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
 but is expected to have type
   forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMassβ‚“'. -/
@@ -181,7 +181,7 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
 
 /- warning: convex_on.exists_ge_of_mem_convex_hull -> ConvexOn.exists_ge_of_mem_convexHull is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (f y)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (f y)))))
 but is expected to have type
   forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (f y)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHullβ‚“'. -/
@@ -200,7 +200,7 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
 
 /- warning: concave_on.exists_le_of_mem_convex_hull -> ConcaveOn.exists_le_of_mem_convexHull is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f y) (f x)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toHasLe.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f y) (f x)))))
 but is expected to have type
   forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f y) (f x)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHullβ‚“'. -/
Diff
@@ -82,7 +82,7 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))))
 but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (NonAssocRing.toOne.{u4} π•œ (Ring.toNonAssocRing.{u4} π•œ (StrictOrderedRing.toRing.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))))
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))))
 Case conversion may be inaccurate. Consider using '#align convex_on.map_sum_le ConvexOn.map_sum_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
 theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
@@ -95,7 +95,7 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
 lean 3 declaration is
   forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))))
 but is expected to have type
-  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (NonAssocRing.toOne.{u4} π•œ (Ring.toNonAssocRing.{u4} π•œ (StrictOrderedRing.toRing.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))))
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (Semiring.toOne.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))))
 Case conversion may be inaccurate. Consider using '#align concave_on.le_map_sum ConcaveOn.le_map_sumβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Yury Kudriashov
 
 ! This file was ported from Lean 3 source module analysis.convex.jensen
-! leanprover-community/mathlib commit bfad3f455b388fbcc14c49d0cac884f774f14d20
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.Analysis.Convex.Function
 /-!
 # Jensen's inequality and maximum principle for convex functions
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file, we prove the finite Jensen inequality and the finite maximum principle for convex
 functions. The integral versions are to be found in `analysis.convex.integral`.
 
Diff
@@ -45,6 +45,12 @@ section Jensen
 variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Module π•œ E] [Module π•œ Ξ²]
   [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
 
+/- warning: convex_on.map_center_mass_le -> ConvexOn.map_centerMass_le is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)))
+Case conversion may be inaccurate. Consider using '#align convex_on.map_center_mass_le ConvexOn.map_centerMass_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -56,6 +62,12 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
     simp only [center_mass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 
+/- warning: concave_on.le_map_center_mass -> ConcaveOn.le_map_centerMass is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.centerMass.{u1, u3, u4} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u4, succ u2, succ u3} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.centerMass.{u4, u2, u1} π•œ Ξ² ΞΉ _inst_1 (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3) _inst_5 t w (Function.comp.{succ u1, succ u3, succ u2} ΞΉ E Ξ² f p)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))
+Case conversion may be inaccurate. Consider using '#align concave_on.le_map_center_mass ConcaveOn.le_map_centerMassβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.center_mass` version. -/
 theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -63,6 +75,12 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   @ConvexOn.map_centerMass_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
+/- warning: convex_on.map_sum_le -> ConvexOn.map_sum_le is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (NonAssocRing.toOne.{u4} π•œ (Ring.toNonAssocRing.{u4} π•œ (StrictOrderedRing.toRing.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.map_sum_le ConvexOn.map_sum_leβ‚“'. -/
 /-- Convex **Jensen's inequality**, `finset.sum` version. -/
 theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i) := by
@@ -70,6 +88,12 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
     hf.map_center_mass_le hβ‚€ (h₁.symm β–Έ zero_lt_one) hmem
 #align convex_on.map_sum_le ConvexOn.map_sum_le
 
+/- warning: concave_on.le_map_sum -> ConcaveOn.le_map_sum is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : OrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² _inst_3)) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (Eq.{succ u1} π•œ (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (OfNat.mk.{u1} π•œ 1 (One.one.{u1} π•œ (AddMonoidWithOne.toOne.{u1} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u1} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u1} π•œ (Ring.toAddCommGroupWithOne.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² _inst_3))) (Finset.sum.{u3, u4} Ξ² ΞΉ (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) t (fun (i : ΞΉ) => SMul.smul.{u1, u3} π•œ Ξ² (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² _inst_3)) _inst_5)))) (w i) (f (p i)))) (f (Finset.sum.{u2, u4} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) t (fun (i : ΞΉ) => SMul.smul.{u1, u2} π•œ E (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (w i) (p i)))))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : OrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (Eq.{succ u4} π•œ (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u4} π•œ 1 (One.toOfNat1.{u4} π•œ (NonAssocRing.toOne.{u4} π•œ (Ring.toNonAssocRing.{u4} π•œ (StrictOrderedRing.toRing.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1))))))))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² _inst_3))) (Finset.sum.{u2, u1} Ξ² ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u2, u2} π•œ Ξ² Ξ² (instHSMul.{u4, u2} π•œ Ξ² (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u2} Ξ² _inst_3)) _inst_5))))) (w i) (f (p i)))) (f (Finset.sum.{u3, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) t (fun (i : ΞΉ) => HSMul.hSMul.{u4, u3, u3} π•œ E E (instHSMul.{u4, u3} π•œ E (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4))))) (w i) (p i)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.le_map_sum ConcaveOn.le_map_sumβ‚“'. -/
 /-- Concave **Jensen's inequality**, `finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : (βˆ‘ i in t, w i) = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
@@ -88,6 +112,12 @@ variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup 
   [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
   {x : E}
 
+/- warning: le_sup_of_mem_convex_hull -> le_sup_of_mem_convexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (Finset.sup'.{u3, u2} Ξ² E (Lattice.toSemilatticeSup.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConvexOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (Finset.sup'.{u1, u3} Ξ² E (Lattice.toSemilatticeSup.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f))
+Case conversion may be inaccurate. Consider using '#align le_sup_of_mem_convex_hull le_sup_of_mem_convexHullβ‚“'. -/
 theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     f x ≀ s.sup' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f :=
@@ -98,12 +128,24 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
       (center_mass_le_sup hwβ‚€ <| by positivity)
 #align le_sup_of_mem_convex_hull le_sup_of_mem_convexHull
 
+/- warning: inf_le_of_mem_convex_hull -> inf_le_of_mem_convexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u2} E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) f) -> (forall (hx : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))), LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (Finset.inf'.{u3, u2} Ξ² E (Lattice.toSemilatticeInf.{u3} Ξ² (LinearOrder.toLattice.{u3} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u3} Ξ² _inst_3))) s (Iff.mp (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Finset.Nonempty.{u2} E s) (Finset.coe_nonempty.{u2} E s) (Iff.mp (Set.Nonempty.{u2} E (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) (Set.Nonempty.{u2} E ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (convexHull_nonempty_iff.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s)) (Exists.intro.{succ u2} E (fun (x : E) => Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Finset.{u2} E) (Set.{u2} E) (HasLiftT.mk.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (CoeTCβ‚“.coe.{succ u2, succ u2} (Finset.{u2} E) (Set.{u2} E) (Finset.Set.hasCoeT.{u2} E))) s))) x hx))) f) (f x))
+but is expected to have type
+  forall {π•œ : Type.{u2}} {E : Type.{u3}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u2, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {f : E -> Ξ²} {x : E} {s : Finset.{u3} E}, (ConcaveOn.{u2, u3, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u2, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u2, u3} π•œ E (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u2, u3} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u2, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u2, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u2, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u2} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u2} π•œ (Semifield.toCommGroupWithZero.{u2} π•œ (LinearOrderedSemifield.toSemifield.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u2} π•œ (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u2, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u2} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s)) f) -> (forall (hx : Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))), LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (Finset.inf'.{u1, u3} Ξ² E (Lattice.toSemilatticeInf.{u1} Ξ² (DistribLattice.toLattice.{u1} Ξ² (instDistribLattice.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrder.{u1} Ξ² _inst_3)))) s (Iff.mp (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (Finset.Nonempty.{u3} E s) (Finset.coe_nonempty.{u3} E s) (Iff.mp (Set.Nonempty.{u3} E (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) (Set.Nonempty.{u3} E (Finset.toSet.{u3} E s)) (convexHull_nonempty_iff.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4 (Finset.toSet.{u3} E s)) (Exists.intro.{succ u3} E (fun (x : E) => Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) x (OrderHom.toFun.{u3, u3} (Set.{u3} E) (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (ClosureOperator.toOrderHom.{u3} (Set.{u3} E) (PartialOrder.toPreorder.{u3} (Set.{u3} E) (OmegaCompletePartialOrder.toPartialOrder.{u3} (Set.{u3} E) (CompleteLattice.instOmegaCompletePartialOrder.{u3} (Set.{u3} E) (Order.Coframe.toCompleteLattice.{u3} (Set.{u3} E) (CompleteDistribLattice.toCoframe.{u3} (Set.{u3} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u3} (Set.{u3} E) (Set.instCompleteBooleanAlgebraSet.{u3} E))))))) (convexHull.{u2, u3} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u2} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u2} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u2} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)) (Finset.toSet.{u3} E s))) x hx))) f) (f x))
+Case conversion may be inaccurate. Consider using '#align inf_le_of_mem_convex_hull inf_le_of_mem_convexHullβ‚“'. -/
 theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     s.inf' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f ≀ f x :=
   le_sup_of_mem_convexHull hf.dual hx
 #align inf_le_of_mem_convex_hull inf_le_of_mem_convexHull
 
+/- warning: convex_on.exists_ge_of_center_mass -> ConvexOn.exists_ge_of_centerMass is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConvexOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)) (f (p i)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMassβ‚“'. -/
 /-- If a function `f` is convex on `s`, then the value it takes at some center of mass of points of
 `s` is less than the value it takes on one of those points. -/
 theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -121,6 +163,12 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   infer_instance
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
 
+/- warning: concave_on.exists_le_of_center_mass -> ConcaveOn.exists_le_of_centerMass is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} {ΞΉ : Type.{u4}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²} {t : Finset.{u4} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (LE.le.{u1} π•œ (Preorder.toLE.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (w i))) -> (LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (OrderedAddCommGroup.toPartialOrder.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))) (OfNat.ofNat.{u1} π•œ 0 (OfNat.mk.{u1} π•œ 0 (Zero.zero.{u1} π•œ (MulZeroClass.toHasZero.{u1} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))))))))) (Finset.sum.{u1, u4} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u1} π•œ (OrderedAddCommGroup.toAddCommGroup.{u1} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) -> (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) (p i) s)) -> (Exists.{succ u4} ΞΉ (fun (i : ΞΉ) => Exists.{0} (Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) (fun (H : Membership.Mem.{u4, u4} ΞΉ (Finset.{u4} ΞΉ) (Finset.hasMem.{u4} ΞΉ) i t) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u1, u2, u4} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
+but is expected to have type
+  forall {π•œ : Type.{u4}} {E : Type.{u3}} {Ξ² : Type.{u2}} {ΞΉ : Type.{u1}} [_inst_1 : LinearOrderedField.{u4} π•œ] [_inst_2 : AddCommGroup.{u3} E] [_inst_3 : LinearOrderedAddCommGroup.{u2} Ξ²] [_inst_4 : Module.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2)] [_inst_5 : Module.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u4, u2} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (AddMonoid.toZero.{u2} Ξ² (AddCommMonoid.toAddMonoid.{u2} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5))] {s : Set.{u3} E} {f : E -> Ξ²} {t : Finset.{u1} ΞΉ} {w : ΞΉ -> π•œ} {p : ΞΉ -> E}, (ConcaveOn.{u4, u3, u2} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u4} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u4} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u4, u3} π•œ E (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u4, u3} π•œ E (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u4, u3} π•œ E (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u3} E (SubNegZeroMonoid.toNegZeroClass.{u3} E (SubtractionMonoid.toSubNegZeroMonoid.{u3} E (SubtractionCommMonoid.toSubtractionMonoid.{u3} E (AddCommGroup.toDivisionAddCommMonoid.{u3} E _inst_2))))) (Module.toMulActionWithZero.{u4, u3} π•œ E (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u4, u2} π•œ Ξ² (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u4, u2} π•œ Ξ² (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u4, u2} π•œ Ξ² (Semiring.toMonoidWithZero.{u4} π•œ (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u2} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u2} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u2} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u2} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u4, u2} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u2} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u2} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u2} Ξ² _inst_3))) _inst_5)))) s f) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (LE.le.{u4} π•œ (Preorder.toLE.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (w i))) -> (LT.lt.{u4} π•œ (Preorder.toLT.{u4} π•œ (PartialOrder.toPreorder.{u4} π•œ (StrictOrderedRing.toPartialOrder.{u4} π•œ (LinearOrderedRing.toStrictOrderedRing.{u4} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u4} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u4} π•œ _inst_1)))))) (OfNat.ofNat.{u4} π•œ 0 (Zero.toOfNat0.{u4} π•œ (CommMonoidWithZero.toZero.{u4} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u4} π•œ (Semifield.toCommGroupWithZero.{u4} π•œ (LinearOrderedSemifield.toSemifield.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1))))))) (Finset.sum.{u4, u1} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u4} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u4} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u4} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u4} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u4} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u4} π•œ _inst_1)))))) t (fun (i : ΞΉ) => w i))) -> (forall (i : ΞΉ), (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) -> (Membership.mem.{u3, u3} E (Set.{u3} E) (Set.instMembershipSet.{u3} E) (p i) s)) -> (Exists.{succ u1} ΞΉ (fun (i : ΞΉ) => And (Membership.mem.{u1, u1} ΞΉ (Finset.{u1} ΞΉ) (Finset.instMembershipFinset.{u1} ΞΉ) i t) (LE.le.{u2} Ξ² (Preorder.toLE.{u2} Ξ² (PartialOrder.toPreorder.{u2} Ξ² (OrderedAddCommGroup.toPartialOrder.{u2} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u2} Ξ² _inst_3)))) (f (p i)) (f (Finset.centerMass.{u4, u3, u1} π•œ E ΞΉ _inst_1 _inst_2 _inst_4 t w p)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMassβ‚“'. -/
 /-- If a function `f` is concave on `s`, then the value it takes at some center of mass of points of
 `s` is greater than the value it takes on one of those points. -/
 theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -128,6 +176,12 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
   @ConvexOn.exists_ge_of_centerMass π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ h hwβ‚€ hw₁ hp
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
 
+/- warning: convex_on.exists_ge_of_mem_convex_hull -> ConvexOn.exists_ge_of_mem_convexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f x) (f y)))))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConvexOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f x) (f y)))))
+Case conversion may be inaccurate. Consider using '#align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHullβ‚“'. -/
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
 then the eventual maximum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
@@ -141,6 +195,12 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
   exact ⟨p i, hp i hit, Hi⟩
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
 
+/- warning: concave_on.exists_le_of_mem_convex_hull -> ConcaveOn.exists_le_of_mem_convexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} {Ξ² : Type.{u3}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u3} Ξ²] [_inst_4 : Module.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u1, u3} π•œ Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u3} Ξ² (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u1, u2, u3} π•œ E Ξ² (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (OrderedCancelAddCommMonoid.toOrderedAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toOrderedCancelAddCommMonoid.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) (SMulZeroClass.toHasSmul.{u1, u2} π•œ E (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} π•œ E (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u2} E (AddMonoid.toAddZeroClass.{u2} E (AddCommMonoid.toAddMonoid.{u2} E (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)))) (Module.toMulActionWithZero.{u1, u2} π•œ E (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toHasSmul.{u1, u3} π•œ Ξ² (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (SMulWithZero.toSmulZeroClass.{u1, u3} π•œ Ξ² (MulZeroClass.toHasZero.{u1} π•œ (MulZeroOneClass.toMulZeroClass.{u1} π•œ (MonoidWithZero.toMulZeroOneClass.{u1} π•œ (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (MulActionWithZero.toSMulWithZero.{u1, u3} π•œ Ξ² (Semiring.toMonoidWithZero.{u1} π•œ (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u3} Ξ² (AddMonoid.toAddZeroClass.{u3} Ξ² (AddCommMonoid.toAddMonoid.{u3} Ξ² (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u1, u3} π•œ Ξ² (Ring.toSemiring.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u3} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3))) _inst_5)))) (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s) f) -> (forall {x : E}, (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) x (coeFn.{succ u2, succ u2} (ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (fun (_x : ClosureOperator.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) => (Set.{u2} E) -> (Set.{u2} E)) (ClosureOperator.hasCoeToFun.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.completeBooleanAlgebra.{u2} E)))))))) (convexHull.{u1, u2} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4) s)) -> (Exists.{succ u2} E (fun (y : E) => Exists.{0} (Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) (fun (H : Membership.Mem.{u2, u2} E (Set.{u2} E) (Set.hasMem.{u2} E) y s) => LE.le.{u3} Ξ² (Preorder.toLE.{u3} Ξ² (PartialOrder.toPreorder.{u3} Ξ² (OrderedAddCommGroup.toPartialOrder.{u3} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u3} Ξ² _inst_3)))) (f y) (f x)))))
+but is expected to have type
+  forall {π•œ : Type.{u3}} {E : Type.{u2}} {Ξ² : Type.{u1}} [_inst_1 : LinearOrderedField.{u3} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : LinearOrderedAddCommGroup.{u1} Ξ²] [_inst_4 : Module.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_5 : Module.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))] [_inst_6 : OrderedSMul.{u3, u1} π•œ Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (AddMonoid.toZero.{u1} Ξ² (AddCommMonoid.toAddMonoid.{u1} Ξ² (OrderedAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3)))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5))] {s : Set.{u2} E} {f : E -> Ξ²}, (ConcaveOn.{u3, u2, u1} π•œ E Ξ² (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (LinearOrderedAddCommMonoid.toOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toLinearOrderedAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) (SMulZeroClass.toSMul.{u3, u2} π•œ E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (SMulWithZero.toSMulZeroClass.{u3, u2} π•œ E (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (MulActionWithZero.toSMulWithZero.{u3, u2} π•œ E (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E _inst_2))))) (Module.toMulActionWithZero.{u3, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)))) (SMulZeroClass.toSMul.{u3, u1} π•œ Ξ² (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (SMulWithZero.toSMulZeroClass.{u3, u1} π•œ Ξ² (CommMonoidWithZero.toZero.{u3} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u3} π•œ (Semifield.toCommGroupWithZero.{u3} π•œ (LinearOrderedSemifield.toSemifield.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (MulActionWithZero.toSMulWithZero.{u3, u1} π•œ Ξ² (Semiring.toMonoidWithZero.{u3} π•œ (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1)))))) (NegZeroClass.toZero.{u1} Ξ² (SubNegZeroMonoid.toNegZeroClass.{u1} Ξ² (SubtractionMonoid.toSubNegZeroMonoid.{u1} Ξ² (SubtractionCommMonoid.toSubtractionMonoid.{u1} Ξ² (AddCommGroup.toDivisionAddCommMonoid.{u1} Ξ² (OrderedAddCommGroup.toAddCommGroup.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3))))))) (Module.toMulActionWithZero.{u3, u1} π•œ Ξ² (StrictOrderedSemiring.toSemiring.{u3} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u3} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} Ξ² (LinearOrderedCancelAddCommMonoid.toOrderedCancelAddCommMonoid.{u1} Ξ² (LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid.{u1} Ξ² _inst_3))) _inst_5)))) (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s) f) -> (forall {x : E}, (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (OrderHom.toFun.{u2, u2} (Set.{u2} E) (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (ClosureOperator.toOrderHom.{u2} (Set.{u2} E) (PartialOrder.toPreorder.{u2} (Set.{u2} E) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} E) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} E) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} E) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} E) (Set.instCompleteBooleanAlgebraSet.{u2} E))))))) (convexHull.{u3, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u3} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u3} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u3} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u3} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u3} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_4)) s)) -> (Exists.{succ u2} E (fun (y : E) => And (Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) y s) (LE.le.{u1} Ξ² (Preorder.toLE.{u1} Ξ² (PartialOrder.toPreorder.{u1} Ξ² (OrderedAddCommGroup.toPartialOrder.{u1} Ξ² (LinearOrderedAddCommGroup.toOrderedAddCommGroup.{u1} Ξ² _inst_3)))) (f y) (f x)))))
+Case conversion may be inaccurate. Consider using '#align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHullβ‚“'. -/
 /-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
 then the eventual minimum of `f` on `convex_hull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
Diff
@@ -52,7 +52,7 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
   by
   have hmem' : βˆ€ i ∈ t, (p i, (f ∘ p) i) ∈ { p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2 } := fun i hi =>
     ⟨hmem i hi, le_rfl⟩
-  convert (hf.convex_epigraph.center_mass_mem hβ‚€ h₁ hmem').2 <;>
+  convert(hf.convex_epigraph.center_mass_mem hβ‚€ h₁ hmem').2 <;>
     simp only [center_mass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 

Changes in mathlib4

mathlib3
mathlib4
feat: Axiomatise b β‰  0 β†’ a * b / b = a (#12424)

This lets us unify a few lemmas between GroupWithZero and EuclideanDomain and two lemmas that were previously proved separately for Nat, Int, Polynomial.

Diff
@@ -124,8 +124,8 @@ lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   have := hβ‚€ k <| by simp
   let c := w j + w k
   have hc : w j / c + w k / c = 1 := by field_simp
-  have hcj : c * (w j / c) = w j := by field_simp; ring
-  have hck : c * (w k / c) = w k := by field_simp; ring
+  have hcj : c * (w j / c) = w j := by field_simp
+  have hck : c * (w k / c) = w k := by field_simp
   calc f (w j β€’ p j + (w k β€’ p k + βˆ‘ x in u, w x β€’ p x))
     _ = f (c β€’ ((w j / c) β€’ p j + (w k / c) β€’ p k) + βˆ‘ x in u, w x β€’ p x) := by
       rw [smul_add, ← mul_smul, ← mul_smul, hcj, hck, add_assoc]
chore: scope open Classical (#11199)

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

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

Diff
@@ -35,7 +35,8 @@ As corollaries, we get:
 
 open Finset LinearMap Set
 
-open BigOperators Classical Convex Pointwise
+open scoped Classical
+open BigOperators Convex Pointwise
 
 variable {π•œ E F Ξ² ΞΉ : Type*}
 
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -111,8 +111,8 @@ lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   -- We replace `t` by `t \ {j, k}`
   have : k ∈ t.erase j := mem_erase.2 ⟨ne_of_apply_ne _ hjk.symm, hk⟩
   let u := (t.erase j).erase k
-  have hj : j βˆ‰ u := by simp
-  have hk : k βˆ‰ u := by simp
+  have hj : j βˆ‰ u := by simp [u]
+  have hk : k βˆ‰ u := by simp [u]
   have ht :
       t = (u.cons k hk).cons j (mem_cons.not.2 <| not_or_intro (ne_of_apply_ne _ hjk) hj) := by
     simp [insert_erase this, insert_erase β€Ήj ∈ tβ€Ί, *]
chore: remove stream-of-consciousness uses of have, replace and suffices (#10640)

No changes to tactic file, it's just boring fixes throughout the library.

This follows on from #6964.

Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>

Diff
@@ -113,8 +113,9 @@ lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   let u := (t.erase j).erase k
   have hj : j βˆ‰ u := by simp
   have hk : k βˆ‰ u := by simp
-  have ht : t = (u.cons k hk).cons j (mem_cons.not.2 <| not_or_intro (ne_of_apply_ne _ hjk) hj)
-  Β· simp [insert_erase this, insert_erase β€Ήj ∈ tβ€Ί, *]
+  have ht :
+      t = (u.cons k hk).cons j (mem_cons.not.2 <| not_or_intro (ne_of_apply_ne _ hjk) hj) := by
+    simp [insert_erase this, insert_erase β€Ήj ∈ tβ€Ί, *]
   clear_value u
   subst ht
   simp only [sum_cons]
feat: Maximum principle for convex functions on an interval (#9364)

Corollaries of existing lemmas.

From LeanAPAP

Diff
@@ -249,7 +249,7 @@ section MaximumPrinciple
 
 variable [LinearOrderedField π•œ] [AddCommGroup E] [LinearOrderedAddCommGroup Ξ²] [Module π•œ E]
   [Module π•œ Ξ²] [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
-  {x : E}
+  {x y z : E}
 
 theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
@@ -289,8 +289,8 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
   ConvexOn.exists_ge_of_centerMass (Ξ² := Ξ²α΅’α΅ˆ) h hwβ‚€ hw₁ hp
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
 
-/-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
-then the eventual maximum of `f` on `convexHull π•œ s` lies in `s`. -/
+/-- **Maximum principle** for convex functions. If a function `f` is convex on the convex hull of
+`s`, then the eventual maximum of `f` on `convexHull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f x ≀ f y := by
   rw [_root_.convexHull_eq] at hx
@@ -301,11 +301,35 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
   exact ⟨p i, hp i hit, Hi⟩
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
 
-/-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
-then the eventual minimum of `f` on `convexHull π•œ s` lies in `s`. -/
+/-- **Minimum principle** for concave functions. If a function `f` is concave on the convex hull of
+`s`, then the eventual minimum of `f` on `convexHull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f y ≀ f x :=
   ConvexOn.exists_ge_of_mem_convexHull (Ξ² := Ξ²α΅’α΅ˆ) hf hx
 #align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHull
 
+/-- **Maximum principle** for convex functions on a segment. If a function `f` is convex on the
+segment `[x, y]`, then the eventual maximum of `f` on `[x, y]` is at `x` or `y`. -/
+lemma ConvexOn.le_max_of_mem_segment (hf : ConvexOn π•œ [x -[π•œ] y] f) (hz : z ∈ [x -[π•œ] y]) :
+    f z ≀ max (f x) (f y) := by
+  rw [← convexHull_pair] at hf hz; simpa using hf.exists_ge_of_mem_convexHull hz
+
+/-- **Minimum principle** for concave functions on a segment. If a function `f` is concave on the
+segment `[x, y]`, then the eventual minimum of `f` on `[x, y]` is at `x` or `y`. -/
+lemma ConcaveOn.min_le_of_mem_segment (hf : ConcaveOn π•œ [x -[π•œ] y] f) (hz : z ∈ [x -[π•œ] y]) :
+    min (f x) (f y) ≀ f z := by
+  rw [← convexHull_pair] at hf hz; simpa using hf.exists_le_of_mem_convexHull hz
+
+/-- **Maximum principle** for convex functions on an interval. If a function `f` is convex on the
+interval `[x, y]`, then the eventual maximum of `f` on `[x, y]` is at `x` or `y`. -/
+lemma ConvexOn.le_max_of_mem_Icc {f : π•œ β†’ Ξ²} {x y z : π•œ} (hf : ConvexOn π•œ (Icc x y) f)
+    (hz : z ∈ Icc x y) : f z ≀ max (f x) (f y) := by
+  rw [← segment_eq_Icc (hz.1.trans hz.2)] at hf hz; exact hf.le_max_of_mem_segment hz
+
+/-- **Minimum principle** for concave functions on an interval. If a function `f` is concave on the
+interval `[x, y]`, then the eventual minimum of `f` on `[x, y]` is at `x` or `y`. -/
+lemma ConcaveOn.min_le_of_mem_Icc {f : π•œ β†’ Ξ²} {x y z : π•œ} (hf : ConcaveOn π•œ (Icc x y) f)
+    (hz : z ∈ Icc x y) : min (f x) (f y) ≀ f z := by
+  rw [← segment_eq_Icc (hz.1.trans hz.2)] at hf hz; exact hf.min_le_of_mem_segment hz
+
 end MaximumPrinciple
chore(*): replace $ with <| (#9319)

See Zulip thread for the discussion.

Diff
@@ -113,13 +113,13 @@ lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈
   let u := (t.erase j).erase k
   have hj : j βˆ‰ u := by simp
   have hk : k βˆ‰ u := by simp
-  have ht : t = (u.cons k hk).cons j (mem_cons.not.2 $ not_or_intro (ne_of_apply_ne _ hjk) hj)
+  have ht : t = (u.cons k hk).cons j (mem_cons.not.2 <| not_or_intro (ne_of_apply_ne _ hjk) hj)
   Β· simp [insert_erase this, insert_erase β€Ήj ∈ tβ€Ί, *]
   clear_value u
   subst ht
   simp only [sum_cons]
-  have := hβ‚€ j $ by simp
-  have := hβ‚€ k $ by simp
+  have := hβ‚€ j <| by simp
+  have := hβ‚€ k <| by simp
   let c := w j + w k
   have hc : w j / c + w k / c = 1 := by field_simp
   have hcj : c * (w j / c) = w j := by field_simp; ring
@@ -130,13 +130,13 @@ lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈
     _ ≀ c β€’ f ((w j / c) β€’ p j + (w k / c) β€’ p k) + βˆ‘ x in u, w x β€’ f (p x) :=
       -- apply the usual Jensen's inequality wrt the weighted average of the two distinguished
       -- points and all the other points
-        hf.convexOn.map_add_sum_le (fun i hi ↦ (hβ‚€ _ $ by simp [hi]).le)
+        hf.convexOn.map_add_sum_le (fun i hi ↦ (hβ‚€ _ <| by simp [hi]).le)
           (by simpa [-cons_eq_insert, ← add_assoc] using h₁)
-          (forall_of_forall_cons $ forall_of_forall_cons hmem) (by positivity) $ by
-           refine hf.1 (hmem _ $ by simp) (hmem _ $ by simp) ?_ ?_ hc <;> positivity
+          (forall_of_forall_cons <| forall_of_forall_cons hmem) (by positivity) <| by
+           refine hf.1 (hmem _ <| by simp) (hmem _ <| by simp) ?_ ?_ hc <;> positivity
     _ < c β€’ ((w j / c) β€’ f (p j) + (w k / c) β€’ f (p k)) + βˆ‘ x in u, w x β€’ f (p x) := by
       -- then apply the definition of strict convexity for the two distinguished points
-      gcongr; refine hf.2 (hmem _ $ by simp) (hmem _ $ by simp) hjk ?_ ?_ hc <;> positivity
+      gcongr; refine hf.2 (hmem _ <| by simp) (hmem _ <| by simp) hjk ?_ ?_ hc <;> positivity
     _ = (w j β€’ f (p j) + w k β€’ f (p k)) + βˆ‘ x in u, w x β€’ f (p x) := by
       rw [smul_add, ← mul_smul, ← mul_smul, hcj, hck]
     _ = w j β€’ f (p j) + (w k β€’ f (p k) + βˆ‘ x in u, w x β€’ f (p x)) := by abel_nf
@@ -163,7 +163,7 @@ lemma StrictConvexOn.eq_of_le_map_sum (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€
     (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s)
     (h_eq : βˆ‘ i in t, w i β€’ f (p i) ≀ f (βˆ‘ i in t, w i β€’ p i)) :
     βˆ€ ⦃j⦄, j ∈ t β†’ βˆ€ ⦃k⦄, k ∈ t β†’ p j = p k := by
-  by_contra!; exact h_eq.not_lt $ hf.map_sum_lt hβ‚€ h₁ hmem this
+  by_contra!; exact h_eq.not_lt <| hf.map_sum_lt hβ‚€ h₁ hmem this
 
 /-- A form of the **equality case of Jensen's equality**.
 
@@ -175,7 +175,7 @@ lemma StrictConcaveOn.eq_of_map_sum_eq (hf : StrictConcaveOn π•œ s f) (hβ‚€ : 
     (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s)
     (h_eq : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i)) :
     βˆ€ ⦃j⦄, j ∈ t β†’ βˆ€ ⦃k⦄, k ∈ t β†’ p j = p k := by
-  by_contra!; exact h_eq.not_lt $ hf.lt_map_sum hβ‚€ h₁ hmem this
+  by_contra!; exact h_eq.not_lt <| hf.lt_map_sum hβ‚€ h₁ hmem this
 
 /-- Canonical form of the **equality case of Jensen's equality**.
 
refactor: Deduplicate monotonicity of β€’ lemmas (#9179)

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

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

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

Diff
@@ -274,10 +274,10 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   obtain ⟨i, hi, hfi⟩ : βˆƒ i ∈ t.filter fun i => w i β‰  0, w i β€’ f y ≀ w i β€’ (f ∘ p) i
   rotate_left
   Β· rw [mem_filter] at hi
-    exact ⟨i, hi.1, (smul_le_smul_iff_of_pos <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
+    exact ⟨i, hi.1, (smul_le_smul_iff_of_pos_left <| (hwβ‚€ i hi.1).lt_of_ne hi.2.symm).1 hfi⟩
   have hw' : (0 : π•œ) < βˆ‘ i in filter (fun i => w i β‰  0) t, w i := by rwa [sum_filter_ne_zero]
   refine' exists_le_of_sum_le (nonempty_of_sum_ne_zero hw'.ne') _
-  rw [← sum_smul, ← smul_le_smul_iff_of_pos (inv_pos.2 hw'), inv_smul_smulβ‚€ hw'.ne', ←
+  rw [← sum_smul, ← smul_le_smul_iff_of_pos_left (inv_pos.2 hw'), inv_smul_smulβ‚€ hw'.ne', ←
     centerMass, centerMass_filter_ne_zero]
   exact h.map_centerMass_le hwβ‚€ hw₁ hp
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
feat: Strict Jensen inequality (#8972)

and equality case

From PFR

Co-authored-by: Heather Macbeth <hrmacbeth@gmail.com>

Diff
@@ -5,6 +5,7 @@ Authors: Alexander Bentkamp, Yury Kudriashov
 -/
 import Mathlib.Analysis.Convex.Combination
 import Mathlib.Analysis.Convex.Function
+import Mathlib.Tactic.FieldSimp
 
 #align_import analysis.convex.jensen from "leanprover-community/mathlib"@"bfad3f455b388fbcc14c49d0cac884f774f14d20"
 
@@ -21,8 +22,12 @@ Jensen's inequalities:
   convex combination of points under a convex function is less than the convex combination of the
   images.
 * `ConcaveOn.le_map_centerMass`, `ConcaveOn.le_map_sum`: Concave Jensen's inequality.
+* `StrictConvexOn.map_sum_lt`: Convex strict Jensen inequality.
+* `StrictConcaveOn.lt_map_sum`: Concave strict Jensen inequality.
 
 As corollaries, we get:
+* `StrictConvexOn.map_sum_eq_iff`: Equality case of the convex Jensen inequality.
+* `StrictConcaveOn.map_sum_eq_iff`: Equality case of the concave Jensen inequality.
 * `ConvexOn.exists_ge_of_mem_convexHull`: Maximum principle for convex functions.
 * `ConcaveOn.exists_le_of_mem_convexHull`: Minimum principle for concave functions.
 -/
@@ -40,7 +45,7 @@ variable {π•œ E F Ξ² ΞΉ : Type*}
 section Jensen
 
 variable [LinearOrderedField π•œ] [AddCommGroup E] [OrderedAddCommGroup Ξ²] [Module π•œ E] [Module π•œ Ξ²]
-  [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E}
+  [OrderedSMul π•œ Ξ²] {s : Set E} {f : E β†’ Ξ²} {t : Finset ΞΉ} {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E} {v : π•œ} {q : E}
 
 /-- Convex **Jensen's inequality**, `Finset.centerMass` version. -/
 theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
@@ -73,6 +78,168 @@ theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 
   ConvexOn.map_sum_le (Ξ² := Ξ²α΅’α΅ˆ) hf hβ‚€ h₁ hmem
 #align concave_on.le_map_sum ConcaveOn.le_map_sum
 
+/-- Convex **Jensen's inequality** where an element plays a distinguished role. -/
+lemma ConvexOn.map_add_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
+    (h₁ : v + βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) (hv : 0 ≀ v) (hq : q ∈ s) :
+    f (v β€’ q + βˆ‘ i in t, w i β€’ p i) ≀ v β€’ f q + βˆ‘ i in t, w i β€’ f (p i) := by
+  let W j := Option.elim j v w
+  let P j := Option.elim j q p
+  have : f (βˆ‘ j in insertNone t, W j β€’ P j) ≀ βˆ‘ j in insertNone t, W j β€’ f (P j) :=
+    hf.map_sum_le (forall_mem_insertNone.2 ⟨hv, hβ‚€βŸ©) (by simpa using h₁)
+      (forall_mem_insertNone.2 ⟨hq, hmem⟩)
+  simpa using this
+
+/-- Concave **Jensen's inequality** where an element plays a distinguished role. -/
+lemma ConcaveOn.map_add_sum_le (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
+    (h₁ : v + βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) (hv : 0 ≀ v) (hq : q ∈ s) :
+    v β€’ f q + βˆ‘ i in t, w i β€’ f (p i) ≀ f (v β€’ q + βˆ‘ i in t, w i β€’ p i) :=
+  hf.dual.map_add_sum_le hβ‚€ h₁ hmem hv hq
+
+/-! ### Strict Jensen inequality -/
+
+/-- Convex **strict Jensen inequality**.
+
+If the function is strictly convex, the weights are strictly positive and the indexed family of
+points is non-constant, then Jensen's inequality is strict.
+
+See also `StrictConvexOn.map_sum_eq_iff`. -/
+lemma StrictConvexOn.map_sum_lt (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 < w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) (hp : βˆƒ j ∈ t, βˆƒ k ∈ t, p j β‰  p k) :
+    f (βˆ‘ i in t, w i β€’ p i) < βˆ‘ i in t, w i β€’ f (p i) := by
+  classical
+  obtain ⟨j, hj, k, hk, hjk⟩ := hp
+  -- We replace `t` by `t \ {j, k}`
+  have : k ∈ t.erase j := mem_erase.2 ⟨ne_of_apply_ne _ hjk.symm, hk⟩
+  let u := (t.erase j).erase k
+  have hj : j βˆ‰ u := by simp
+  have hk : k βˆ‰ u := by simp
+  have ht : t = (u.cons k hk).cons j (mem_cons.not.2 $ not_or_intro (ne_of_apply_ne _ hjk) hj)
+  Β· simp [insert_erase this, insert_erase β€Ήj ∈ tβ€Ί, *]
+  clear_value u
+  subst ht
+  simp only [sum_cons]
+  have := hβ‚€ j $ by simp
+  have := hβ‚€ k $ by simp
+  let c := w j + w k
+  have hc : w j / c + w k / c = 1 := by field_simp
+  have hcj : c * (w j / c) = w j := by field_simp; ring
+  have hck : c * (w k / c) = w k := by field_simp; ring
+  calc f (w j β€’ p j + (w k β€’ p k + βˆ‘ x in u, w x β€’ p x))
+    _ = f (c β€’ ((w j / c) β€’ p j + (w k / c) β€’ p k) + βˆ‘ x in u, w x β€’ p x) := by
+      rw [smul_add, ← mul_smul, ← mul_smul, hcj, hck, add_assoc]
+    _ ≀ c β€’ f ((w j / c) β€’ p j + (w k / c) β€’ p k) + βˆ‘ x in u, w x β€’ f (p x) :=
+      -- apply the usual Jensen's inequality wrt the weighted average of the two distinguished
+      -- points and all the other points
+        hf.convexOn.map_add_sum_le (fun i hi ↦ (hβ‚€ _ $ by simp [hi]).le)
+          (by simpa [-cons_eq_insert, ← add_assoc] using h₁)
+          (forall_of_forall_cons $ forall_of_forall_cons hmem) (by positivity) $ by
+           refine hf.1 (hmem _ $ by simp) (hmem _ $ by simp) ?_ ?_ hc <;> positivity
+    _ < c β€’ ((w j / c) β€’ f (p j) + (w k / c) β€’ f (p k)) + βˆ‘ x in u, w x β€’ f (p x) := by
+      -- then apply the definition of strict convexity for the two distinguished points
+      gcongr; refine hf.2 (hmem _ $ by simp) (hmem _ $ by simp) hjk ?_ ?_ hc <;> positivity
+    _ = (w j β€’ f (p j) + w k β€’ f (p k)) + βˆ‘ x in u, w x β€’ f (p x) := by
+      rw [smul_add, ← mul_smul, ← mul_smul, hcj, hck]
+    _ = w j β€’ f (p j) + (w k β€’ f (p k) + βˆ‘ x in u, w x β€’ f (p x)) := by abel_nf
+
+/-- Concave **strict Jensen inequality**.
+
+If the function is strictly concave, the weights are strictly positive and the indexed family of
+points is non-constant, then Jensen's inequality is strict.
+
+See also `StrictConcaveOn.map_sum_eq_iff`. -/
+lemma StrictConcaveOn.lt_map_sum (hf : StrictConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 < w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) (hp : βˆƒ j ∈ t, βˆƒ k ∈ t, p j β‰  p k) :
+    βˆ‘ i in t, w i β€’ f (p i) < f (βˆ‘ i in t, w i β€’ p i) := hf.dual.map_sum_lt hβ‚€ h₁ hmem hp
+
+/-! ### Equality case of Jensen's inequality -/
+
+/-- A form of the **equality case of Jensen's equality**.
+
+For a strictly convex function `f` and positive weights `w`, if
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)`, then the points `p` are all equal.
+
+See also `StrictConvexOn.map_sum_eq_iff`. -/
+lemma StrictConvexOn.eq_of_le_map_sum (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 < w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s)
+    (h_eq : βˆ‘ i in t, w i β€’ f (p i) ≀ f (βˆ‘ i in t, w i β€’ p i)) :
+    βˆ€ ⦃j⦄, j ∈ t β†’ βˆ€ ⦃k⦄, k ∈ t β†’ p j = p k := by
+  by_contra!; exact h_eq.not_lt $ hf.map_sum_lt hβ‚€ h₁ hmem this
+
+/-- A form of the **equality case of Jensen's equality**.
+
+For a strictly concave function `f` and positive weights `w`, if
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)`, then the points `p` are all equal.
+
+See also `StrictConcaveOn.map_sum_eq_iff`. -/
+lemma StrictConcaveOn.eq_of_map_sum_eq (hf : StrictConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 < w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s)
+    (h_eq : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i)) :
+    βˆ€ ⦃j⦄, j ∈ t β†’ βˆ€ ⦃k⦄, k ∈ t β†’ p j = p k := by
+  by_contra!; exact h_eq.not_lt $ hf.lt_map_sum hβ‚€ h₁ hmem this
+
+/-- Canonical form of the **equality case of Jensen's equality**.
+
+For a strictly convex function `f` and positive weights `w`, we have
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)` if and only if the points `p` are all equal
+(and in fact all equal to their center of mass wrt `w`). -/
+lemma StrictConvexOn.map_sum_eq_iff {w : ΞΉ β†’ π•œ} {p : ΞΉ β†’ E} (hf : StrictConvexOn π•œ s f)
+    (hβ‚€ : βˆ€ i ∈ t, 0 < w i) (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
+    f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i) ↔ βˆ€ j ∈ t, p j = βˆ‘ i in t, w i β€’ p i := by
+  constructor
+  Β· obtain rfl | ⟨iβ‚€, hiβ‚€βŸ© := t.eq_empty_or_nonempty
+    Β· simp
+    intro h_eq i hi
+    have H : βˆ€ j ∈ t, p j = p iβ‚€ := by
+      intro j hj
+      apply hf.eq_of_le_map_sum hβ‚€ h₁ hmem h_eq.ge hj hiβ‚€
+    calc p i = p iβ‚€ := by rw [H _ hi]
+      _ = (1:π•œ) β€’ p iβ‚€ := by simp
+      _ = (βˆ‘ j in t, w j) β€’ p iβ‚€ := by rw [h₁]
+      _ = βˆ‘ j in t, (w j β€’ p iβ‚€) := by rw [sum_smul]
+      _ = βˆ‘ j in t, (w j β€’ p j) := by congr! 2 with j hj; rw [← H _ hj]
+  Β· intro h
+    have H : βˆ€ j ∈ t, w j β€’ f (p j) = w j β€’ f (βˆ‘ i in t, w i β€’ p i) := by
+      intro j hj
+      simp [h j hj]
+    rw [sum_congr rfl H, ← sum_smul, h₁, one_smul]
+
+/-- Canonical form of the **equality case of Jensen's equality**.
+
+For a strictly concave function `f` and positive weights `w`, we have
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)` if and only if the points `p` are all equal
+(and in fact all equal to their center of mass wrt `w`). -/
+lemma StrictConcaveOn.map_sum_eq_iff (hf : StrictConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 < w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
+    f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i) ↔ βˆ€ j ∈ t, p j = βˆ‘ i in t, w i β€’ p i := by
+  simpa using hf.neg.map_sum_eq_iff hβ‚€ h₁ hmem
+
+/-- Canonical form of the **equality case of Jensen's equality**.
+
+For a strictly convex function `f` and nonnegative weights `w`, we have
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)` if and only if the points `p` with nonzero
+weight are all equal (and in fact all equal to their center of mass wrt `w`). -/
+lemma StrictConvexOn.map_sum_eq_iff' (hf : StrictConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
+    f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i) ↔
+      βˆ€ j ∈ t, w j β‰  0 β†’ p j = βˆ‘ i in t, w i β€’ p i := by
+  have hw (i) (_ : i ∈ t) : w i β€’ p i β‰  0 β†’ w i β‰  0 := by aesop
+  have hw' (i) (_ : i ∈ t) : w i β€’ f (p i) β‰  0 β†’ w i β‰  0 := by aesop
+  rw [← sum_filter_of_ne hw, ← sum_filter_of_ne hw', hf.map_sum_eq_iff]
+  Β· simp
+  Β· simp (config := { contextual := true }) [(hβ‚€ _ _).gt_iff_ne]
+  Β· rwa [sum_filter_ne_zero]
+  Β· simp (config := { contextual := true }) [hmem _ _]
+
+/-- Canonical form of the **equality case of Jensen's equality**.
+
+For a strictly concave function `f` and nonnegative weights `w`, we have
+`f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i)` if and only if the points `p` with nonzero
+weight are all equal (and in fact all equal to their center of mass wrt `w`). -/
+lemma StrictConcaveOn.map_sum_eq_iff' (hf : StrictConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
+    f (βˆ‘ i in t, w i β€’ p i) = βˆ‘ i in t, w i β€’ f (p i) ↔
+      βˆ€ j ∈ t, w j β‰  0 β†’ p j = βˆ‘ i in t, w i β€’ p i := hf.dual.map_sum_eq_iff' hβ‚€ h₁ hmem
+
 end Jensen
 
 /-! ### Maximum principle -/
@@ -111,7 +278,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
   have hw' : (0 : π•œ) < βˆ‘ i in filter (fun i => w i β‰  0) t, w i := by rwa [sum_filter_ne_zero]
   refine' exists_le_of_sum_le (nonempty_of_sum_ne_zero hw'.ne') _
   rw [← sum_smul, ← smul_le_smul_iff_of_pos (inv_pos.2 hw'), inv_smul_smulβ‚€ hw'.ne', ←
-    Finset.centerMass, Finset.centerMass_filter_ne_zero]
+    centerMass, centerMass_filter_ne_zero]
   exact h.map_centerMass_le hwβ‚€ hw₁ hp
 #align convex_on.exists_ge_of_center_mass ConvexOn.exists_ge_of_centerMass
 
refactor: replace some [@foo](https://github.com/foo) _ _ _ _ _ ... by named arguments (#8702)

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

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

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

Diff
@@ -56,7 +56,7 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
 theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : 0 < βˆ‘ i in t, w i) (hmem : βˆ€ i ∈ t, p i ∈ s) :
     t.centerMass w (f ∘ p) ≀ f (t.centerMass w p) :=
-  @ConvexOn.map_centerMass_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
+  ConvexOn.map_centerMass_le (Ξ² := Ξ²α΅’α΅ˆ) hf hβ‚€ h₁ hmem
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
 /-- Convex **Jensen's inequality**, `Finset.sum` version. -/
@@ -70,7 +70,7 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
     (βˆ‘ i in t, w i β€’ f (p i)) ≀ f (βˆ‘ i in t, w i β€’ p i) :=
-  @ConvexOn.map_sum_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
+  ConvexOn.map_sum_le (Ξ² := Ξ²α΅’α΅ˆ) hf hβ‚€ h₁ hmem
 #align concave_on.le_map_sum ConcaveOn.le_map_sum
 
 end Jensen
@@ -119,7 +119,7 @@ theorem ConvexOn.exists_ge_of_centerMass (h : ConvexOn π•œ s f) (hwβ‚€ : βˆ€ i
 `s` is greater than the value it takes on one of those points. -/
 theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
     (hw₁ : 0 < βˆ‘ i in t, w i) (hp : βˆ€ i ∈ t, p i ∈ s) : βˆƒ i ∈ t, f (p i) ≀ f (t.centerMass w p) :=
-  @ConvexOn.exists_ge_of_centerMass π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ h hwβ‚€ hw₁ hp
+  ConvexOn.exists_ge_of_centerMass (Ξ² := Ξ²α΅’α΅ˆ) h hwβ‚€ hw₁ hp
 #align concave_on.exists_le_of_center_mass ConcaveOn.exists_le_of_centerMass
 
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
@@ -138,7 +138,7 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
 then the eventual minimum of `f` on `convexHull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
     (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f y ≀ f x :=
-  @ConvexOn.exists_ge_of_mem_convexHull π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ hf _ hx
+  ConvexOn.exists_ge_of_mem_convexHull (Ξ² := Ξ²α΅’α΅ˆ) hf hx
 #align concave_on.exists_le_of_mem_convex_hull ConcaveOn.exists_le_of_mem_convexHull
 
 end MaximumPrinciple
chore: missing spaces after rcases, convert and congrm (#7725)

Replace rcases( with rcases (. Same thing for convert( and congrm(. No other change.

Diff
@@ -48,7 +48,7 @@ theorem ConvexOn.map_centerMass_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t,
     f (t.centerMass w p) ≀ t.centerMass w (f ∘ p) := by
   have hmem' : βˆ€ i ∈ t, (p i, (f ∘ p) i) ∈ { p : E Γ— Ξ² | p.1 ∈ s ∧ f p.1 ≀ p.2 } := fun i hi =>
     ⟨hmem i hi, le_rfl⟩
-  convert(hf.convex_epigraph.centerMass_mem hβ‚€ h₁ hmem').2 <;>
+  convert (hf.convex_epigraph.centerMass_mem hβ‚€ h₁ hmem').2 <;>
     simp only [centerMass, Function.comp, Prod.smul_fst, Prod.fst_sum, Prod.smul_snd, Prod.snd_sum]
 #align convex_on.map_center_mass_le ConvexOn.map_centerMass_le
 
chore: remove many Type _ before the colon (#7718)

We have turned to Type* instead of Type _, but many of them remained in mathlib because the straight replacement did not work. In general, having Type _ before the colon is a code smell, though, as it hides which types should be in the same universe and which shouldn't, and is not very robust.

This PR replaces most of the remaining Type _ before the colon (except those in category theory) by Type* or Type u. This has uncovered a few bugs (where declarations were not as polymorphic as they should be).

I had to increase heartbeats at two places when replacing Type _ by Type*, but I think it's worth it as it's really more robust.

Diff
@@ -32,7 +32,7 @@ open Finset LinearMap Set
 
 open BigOperators Classical Convex Pointwise
 
-variable {π•œ E F Ξ² ΞΉ : Type _}
+variable {π•œ E F Ξ² ΞΉ : Type*}
 
 /-! ### Jensen's inequality -/
 
chore: remove trailing space in backticks (#7617)

This will improve spaces in the mathlib4 docs.

Diff
@@ -23,7 +23,7 @@ Jensen's inequalities:
 * `ConcaveOn.le_map_centerMass`, `ConcaveOn.le_map_sum`: Concave Jensen's inequality.
 
 As corollaries, we get:
-* `ConvexOn.exists_ge_of_mem_convexHull `: Maximum principle for convex functions.
+* `ConvexOn.exists_ge_of_mem_convexHull`: Maximum principle for convex functions.
 * `ConcaveOn.exists_le_of_mem_convexHull`: Minimum principle for concave functions.
 -/
 
chore: no need for universe polymorphism in convexHull_eq (#3634)

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

Diff
@@ -125,9 +125,8 @@ theorem ConcaveOn.exists_le_of_centerMass (h : ConcaveOn π•œ s f) (hwβ‚€ : βˆ€
 /-- Maximum principle for convex functions. If a function `f` is convex on the convex hull of `s`,
 then the eventual maximum of `f` on `convexHull π•œ s` lies in `s`. -/
 theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull π•œ s) f) {x}
-    (hx : x ∈ convexHull.{u, v} π•œ s) : βˆƒ y ∈ s, f x ≀ f y := by
-  -- Porting note: `convexHull_eq` has an unspecified universe value that we need to pick.
-  rw [_root_.convexHull_eq.{u, v, 0}] at hx
+    (hx : x ∈ convexHull π•œ s) : βˆƒ y ∈ s, f x ≀ f y := by
+  rw [_root_.convexHull_eq] at hx
   obtain ⟨α, t, w, p, hwβ‚€, hw₁, hp, rfl⟩ := hx
   rcases hf.exists_ge_of_centerMass hwβ‚€ (hw₁.symm β–Έ zero_lt_one) fun i hi =>
       subset_convexHull π•œ s (hp i hi) with
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2019 Alexander Bentkamp. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Alexander Bentkamp, Yury Kudriashov
-
-! This file was ported from Lean 3 source module analysis.convex.jensen
-! leanprover-community/mathlib commit bfad3f455b388fbcc14c49d0cac884f774f14d20
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Analysis.Convex.Combination
 import Mathlib.Analysis.Convex.Function
 
+#align_import analysis.convex.jensen from "leanprover-community/mathlib"@"bfad3f455b388fbcc14c49d0cac884f774f14d20"
+
 /-!
 # Jensen's inequality and maximum principle for convex functions
 
fix: βˆ‘' precedence (#5615)
  • Also remove most superfluous parentheses around big operators (βˆ‘, ∏ and variants).
  • roughly the used regex: ([^a-zA-ZΞ±-ωΑ-Ξ©'𝓝ℳ₀𝕂ₛ)]) \(([βˆ‘βˆ][^()βˆ‘βˆ]*,[^()βˆ‘βˆ:]*)\) ([βŠ‚βŠ†=<≀]) replaced by $1 $2 $3
Diff
@@ -63,7 +63,7 @@ theorem ConcaveOn.le_map_centerMass (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈
 #align concave_on.le_map_center_mass ConcaveOn.le_map_centerMass
 
 /-- Convex **Jensen's inequality**, `Finset.sum` version. -/
-theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : (βˆ‘ i in t, w i) = 1)
+theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i) (h₁ : βˆ‘ i in t, w i = 1)
     (hmem : βˆ€ i ∈ t, p i ∈ s) : f (βˆ‘ i in t, w i β€’ p i) ≀ βˆ‘ i in t, w i β€’ f (p i) := by
   simpa only [centerMass, h₁, inv_one, one_smul] using
     hf.map_centerMass_le hβ‚€ (h₁.symm β–Έ zero_lt_one) hmem
@@ -71,7 +71,7 @@ theorem ConvexOn.map_sum_le (hf : ConvexOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀
 
 /-- Concave **Jensen's inequality**, `Finset.sum` version. -/
 theorem ConcaveOn.le_map_sum (hf : ConcaveOn π•œ s f) (hβ‚€ : βˆ€ i ∈ t, 0 ≀ w i)
-    (h₁ : (βˆ‘ i in t, w i) = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
+    (h₁ : βˆ‘ i in t, w i = 1) (hmem : βˆ€ i ∈ t, p i ∈ s) :
     (βˆ‘ i in t, w i β€’ f (p i)) ≀ f (βˆ‘ i in t, w i β€’ p i) :=
   @ConvexOn.map_sum_le π•œ E Ξ²α΅’α΅ˆ _ _ _ _ _ _ _ _ _ _ _ _ hf hβ‚€ h₁ hmem
 #align concave_on.le_map_sum ConcaveOn.le_map_sum
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

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

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

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

Diff
@@ -95,7 +95,6 @@ theorem le_sup_of_mem_convexHull {s : Finset E} (hf : ConvexOn π•œ (convexHull
     (centerMass_le_sup hwβ‚€ <| by positivity)
 #align le_sup_of_mem_convex_hull le_sup_of_mem_convexHull
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 theorem inf_le_of_mem_convexHull {s : Finset E} (hf : ConcaveOn π•œ (convexHull π•œ (s : Set E)) f)
     (hx : x ∈ convexHull π•œ (s : Set E)) :
     s.inf' (coe_nonempty.1 <| convexHull_nonempty_iff.1 ⟨x, hx⟩) f ≀ f x :=
@@ -139,7 +138,6 @@ theorem ConvexOn.exists_ge_of_mem_convexHull (hf : ConvexOn π•œ (convexHull 
   exact ⟨p i, hp i hit, Hi⟩
 #align convex_on.exists_ge_of_mem_convex_hull ConvexOn.exists_ge_of_mem_convexHull
 
-set_option synthInstance.etaExperiment true in -- Porting note: gets around lean4#2074
 /-- Minimum principle for concave functions. If a function `f` is concave on the convex hull of `s`,
 then the eventual minimum of `f` on `convexHull π•œ s` lies in `s`. -/
 theorem ConcaveOn.exists_le_of_mem_convexHull (hf : ConcaveOn π•œ (convexHull π•œ s) f) {x}
feat: port Analysis.Convex.Jensen (#3622)

Co-authored-by: Moritz Doll <moritz.doll@googlemail.com> Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Dependencies 9 + 446

447 files ported (98.0%)
186939 lines ported (98.2%)
Show graph

The unported dependencies are