analysis.convex.caratheodory ⟷ Mathlib.Analysis.Convex.Caratheodory

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -70,7 +70,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     apply s.exists_min_image fun z => f z / g z
     obtain ⟨x, hx, hgx⟩ : βˆƒ x ∈ t, 0 < g x := gpos
     exact ⟨x, mem_filter.mpr ⟨hx, hgx⟩⟩
-  have hg : 0 < g iβ‚€ := by rw [mem_filter] at mem ; exact mem.2
+  have hg : 0 < g iβ‚€ := by rw [mem_filter] at mem; exact mem.2
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
   have hk : k iβ‚€ = 0 := by field_simp [k, ne_of_gt hg]
@@ -84,7 +84,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e heiβ‚€ het
     by_cases hes : e ∈ s
-    Β· have hge : 0 < g e := by rw [mem_filter] at hes ; exact hes.2
+    Β· have hge : 0 < g e := by rw [mem_filter] at hes; exact hes.2
       rw [← le_div_iff hge]
       exact w _ hes
     Β· calc
@@ -161,7 +161,7 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
       (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
         (min_card_finset_of_mem_convex_hull_subseteq hx))
       hp
-  rw [← not_lt] at contra 
+  rw [← not_lt] at contra
   apply contra
   erw [card_erase_of_mem p.2, hk]
   exact lt_add_one _
@@ -198,10 +198,10 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
       βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (hss : Set.range z βŠ† s) (hai : AffineIndependent π•œ z) (hw :
         βˆ€ i, 0 < w i), βˆ‘ i, w i = 1 ∧ βˆ‘ i, w i β€’ z i = x :=
   by
-  rw [convexHull_eq_union] at hx 
-  simp only [exists_prop, Set.mem_iUnion] at hx 
+  rw [convexHull_eq_union] at hx
+  simp only [exists_prop, Set.mem_iUnion] at hx
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
-  simp only [t.convex_hull_eq, exists_prop, Set.mem_setOf_eq] at ht₃ 
+  simp only [t.convex_hull_eq, exists_prop, Set.mem_setOf_eq] at ht₃
   obtain ⟨w, hw₁, hwβ‚‚, hwβ‚ƒβŸ© := ht₃
   let t' := t.filter fun i => w i β‰  0
   refine' ⟨t', t'.fintype_coe_sort, (coe : t' β†’ E), w ∘ (coe : t' β†’ E), _, _, _, _, _⟩
@@ -213,7 +213,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
   Β· erw [Finset.sum_attach, Finset.sum_filter_ne_zero, hwβ‚‚]
   Β· change βˆ‘ i : t' in t'.attach, (fun e => w e β€’ e) ↑i = x
     erw [Finset.sum_attach, Finset.sum_filter_of_ne]
-    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃ ; exact hw₃
+    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃; exact hw₃
     Β· intro e he hwe contra; apply hwe; rw [contra, zero_smul]
 #align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHull
 -/
Diff
@@ -154,6 +154,17 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
     (Nat.succ_pred_eq_of_pos
         (finset.card_pos.mpr (min_card_finset_of_mem_convex_hull_nonempty hx))).symm
   classical
+  by_contra
+  obtain ⟨p, hp⟩ := mem_convex_hull_erase h (mem_min_card_finset_of_mem_convex_hull hx)
+  have contra :=
+    min_card_finset_of_mem_convex_hull_card_le_card hx
+      (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
+        (min_card_finset_of_mem_convex_hull_subseteq hx))
+      hp
+  rw [← not_lt] at contra 
+  apply contra
+  erw [card_erase_of_mem p.2, hk]
+  exact lt_add_one _
 #align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull
 -/
 
Diff
@@ -154,17 +154,6 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
     (Nat.succ_pred_eq_of_pos
         (finset.card_pos.mpr (min_card_finset_of_mem_convex_hull_nonempty hx))).symm
   classical
-  by_contra
-  obtain ⟨p, hp⟩ := mem_convex_hull_erase h (mem_min_card_finset_of_mem_convex_hull hx)
-  have contra :=
-    min_card_finset_of_mem_convex_hull_card_le_card hx
-      (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
-        (min_card_finset_of_mem_convex_hull_subseteq hx))
-      hp
-  rw [← not_lt] at contra 
-  apply contra
-  erw [card_erase_of_mem p.2, hk]
-  exact lt_add_one _
 #align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull
 -/
 
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Scott Morrison
 -/
-import Mathbin.Analysis.Convex.Combination
-import Mathbin.LinearAlgebra.AffineSpace.Independent
-import Mathbin.Tactic.FieldSimp
+import Analysis.Convex.Combination
+import LinearAlgebra.AffineSpace.Independent
+import Tactic.FieldSimp
 
 #align_import analysis.convex.caratheodory from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Scott Morrison
-
-! This file was ported from Lean 3 source module analysis.convex.caratheodory
-! 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.LinearAlgebra.AffineSpace.Independent
 import Mathbin.Tactic.FieldSimp
 
+#align_import analysis.convex.caratheodory from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
 /-!
 # CarathΓ©odory's convexity theorem
 
Diff
@@ -55,6 +55,7 @@ variable {π•œ : Type _} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E]
 
 namespace Caratheodory
 
+#print Caratheodory.mem_convexHull_erase /-
 /-- If `x` is in the convex hull of some finset `t` whose elements are not affine-independent,
 then it is in the convex hull of a strict subset of `t`. -/
 theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndependent π•œ (coe : t β†’ E))
@@ -105,11 +106,10 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     simp only [sub_smul, mul_smul, sum_sub_distrib, ← smul_sum, gcombo, smul_zero, sub_zero,
       center_mass, fsum, inv_one, one_smul, id.def]
 #align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_erase
+-/
 
 variable {s : Set E} {x : E} (hx : x ∈ convexHull π•œ s)
 
-include hx
-
 #print Caratheodory.minCardFinsetOfMemConvexHull /-
 /-- Given a point `x` in the convex hull of a set `s`, this is a finite subset of `s` of minimum
 cardinality, whose convex hull contains `x`. -/
@@ -120,26 +120,35 @@ noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
 #align caratheodory.min_card_finset_of_mem_convex_hull Caratheodory.minCardFinsetOfMemConvexHull
 -/
 
+#print Caratheodory.minCardFinsetOfMemConvexHull_subseteq /-
 theorem minCardFinsetOfMemConvexHull_subseteq : ↑(minCardFinsetOfMemConvexHull hx) βŠ† s :=
   (Function.argminOn_mem _ _ {t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E)} _).1
 #align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteq
+-/
 
+#print Caratheodory.mem_minCardFinsetOfMemConvexHull /-
 theorem mem_minCardFinsetOfMemConvexHull :
     x ∈ convexHull π•œ (minCardFinsetOfMemConvexHull hx : Set E) :=
   (Function.argminOn_mem _ _ {t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E)} _).2
 #align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHull
+-/
 
+#print Caratheodory.minCardFinsetOfMemConvexHull_nonempty /-
 theorem minCardFinsetOfMemConvexHull_nonempty : (minCardFinsetOfMemConvexHull hx).Nonempty :=
   by
   rw [← Finset.coe_nonempty, ← @convexHull_nonempty_iff π•œ]
   exact ⟨x, mem_min_card_finset_of_mem_convex_hull hx⟩
 #align caratheodory.min_card_finset_of_mem_convex_hull_nonempty Caratheodory.minCardFinsetOfMemConvexHull_nonempty
+-/
 
+#print Caratheodory.minCardFinsetOfMemConvexHull_card_le_card /-
 theorem minCardFinsetOfMemConvexHull_card_le_card {t : Finset E} (ht₁ : ↑t βŠ† s)
     (htβ‚‚ : x ∈ convexHull π•œ (t : Set E)) : (minCardFinsetOfMemConvexHull hx).card ≀ t.card :=
   Function.argminOn_le _ _ _ ⟨ht₁, htβ‚‚βŸ©
 #align caratheodory.min_card_finset_of_mem_convex_hull_card_le_card Caratheodory.minCardFinsetOfMemConvexHull_card_le_card
+-/
 
+#print Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull /-
 theorem affineIndependent_minCardFinsetOfMemConvexHull :
     AffineIndependent π•œ (coe : minCardFinsetOfMemConvexHull hx β†’ E) :=
   by
@@ -160,11 +169,13 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
   erw [card_erase_of_mem p.2, hk]
   exact lt_add_one _
 #align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull
+-/
 
 end Caratheodory
 
 variable {s : Set E}
 
+#print convexHull_eq_union /-
 /-- **CarathΓ©odory's convexity theorem** -/
 theorem convexHull_eq_union :
     convexHull π•œ s =
@@ -181,7 +192,9 @@ theorem convexHull_eq_union :
   Β· iterate 3 convert Set.iUnion_subset _; intro
     exact convexHull_mono β€Ή_β€Ί
 #align convex_hull_eq_union convexHull_eq_union
+-/
 
+#print eq_pos_convex_span_of_mem_convexHull /-
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1)) (_ : Fintype ΞΉ),
@@ -206,4 +219,5 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
     Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃ ; exact hw₃
     Β· intro e he hwe contra; apply hwe; rw [contra, zero_smul]
 #align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHull
+-/
 
Diff
@@ -76,11 +76,11 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
   have hk : k iβ‚€ = 0 := by field_simp [k, ne_of_gt hg]
-  have ksum : (βˆ‘ e in t.erase iβ‚€, k e) = 1 := by
+  have ksum : βˆ‘ e in t.erase iβ‚€, k e = 1 := by
     calc
-      (βˆ‘ e in t.erase iβ‚€, k e) = βˆ‘ e in t, k e := by
+      βˆ‘ e in t.erase iβ‚€, k e = βˆ‘ e in t, k e := by
         conv_rhs => rw [← insert_erase hiβ‚€, sum_insert (not_mem_erase iβ‚€ t), hk, zero_add]
-      _ = βˆ‘ e in t, f e - f iβ‚€ / g iβ‚€ * g e := rfl
+      _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) := rfl
       _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, MulZeroClass.mul_zero, sub_zero]
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
@@ -99,7 +99,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       Β· simpa only [mem_filter, het, true_and_iff, not_lt] using hes
   Β· simp only [Subtype.coe_mk, center_mass_eq_of_sum_1 _ id ksum, id]
     calc
-      (βˆ‘ e in t.erase iβ‚€, k e β€’ e) = βˆ‘ e in t, k e β€’ e := sum_erase _ (by rw [hk, zero_smul])
+      βˆ‘ e in t.erase iβ‚€, k e β€’ e = βˆ‘ e in t, k e β€’ e := sum_erase _ (by rw [hk, zero_smul])
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) β€’ e := rfl
       _ = t.center_mass f id := _
     simp only [sub_smul, mul_smul, sum_sub_distrib, ← smul_sum, gcombo, smul_zero, sub_zero,
@@ -186,7 +186,7 @@ theorem convexHull_eq_union :
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1)) (_ : Fintype ΞΉ),
       βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (hss : Set.range z βŠ† s) (hai : AffineIndependent π•œ z) (hw :
-        βˆ€ i, 0 < w i), (βˆ‘ i, w i) = 1 ∧ (βˆ‘ i, w i β€’ z i) = x :=
+        βˆ€ i, 0 < w i), βˆ‘ i, w i = 1 ∧ βˆ‘ i, w i β€’ z i = x :=
   by
   rw [convexHull_eq_union] at hx 
   simp only [exists_prop, Set.mem_iUnion] at hx 
@@ -201,7 +201,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
     exact fun i =>
       (hw₁ _ (finset.mem_filter.mp i.2).1).lt_of_ne (finset.mem_filter.mp i.property).2.symm
   Β· erw [Finset.sum_attach, Finset.sum_filter_ne_zero, hwβ‚‚]
-  Β· change (βˆ‘ i : t' in t'.attach, (fun e => w e β€’ e) ↑i) = x
+  Β· change βˆ‘ i : t' in t'.attach, (fun e => w e β€’ e) ↑i = x
     erw [Finset.sum_attach, Finset.sum_filter_of_ne]
     Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃ ; exact hw₃
     Β· intro e he hwe contra; apply hwe; rw [contra, zero_smul]
Diff
@@ -82,7 +82,6 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
         conv_rhs => rw [← insert_erase hiβ‚€, sum_insert (not_mem_erase iβ‚€ t), hk, zero_add]
       _ = βˆ‘ e in t, f e - f iβ‚€ / g iβ‚€ * g e := rfl
       _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, MulZeroClass.mul_zero, sub_zero]
-      
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e heiβ‚€ het
@@ -96,7 +95,6 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
             _ ≀
             f e :=
           fpos e het
-        
       Β· apply div_nonneg (fpos iβ‚€ (mem_of_subset (filter_subset _ t) mem)) (le_of_lt hg)
       Β· simpa only [mem_filter, het, true_and_iff, not_lt] using hes
   Β· simp only [Subtype.coe_mk, center_mass_eq_of_sum_1 _ id ksum, id]
@@ -104,7 +102,6 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       (βˆ‘ e in t.erase iβ‚€, k e β€’ e) = βˆ‘ e in t, k e β€’ e := sum_erase _ (by rw [hk, zero_smul])
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) β€’ e := rfl
       _ = t.center_mass f id := _
-      
     simp only [sub_smul, mul_smul, sum_sub_distrib, ← smul_sum, gcombo, smul_zero, sub_zero,
       center_mass, fsum, inv_one, one_smul, id.def]
 #align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_erase
Diff
@@ -117,19 +117,19 @@ include hx
 /-- Given a point `x` in the convex hull of a set `s`, this is a finite subset of `s` of minimum
 cardinality, whose convex hull contains `x`. -/
 noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
-  Function.argminOn Finset.card Nat.lt_wfRel { t | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) }
+  Function.argminOn Finset.card Nat.lt_wfRel {t | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E)}
     (by
       simpa only [convexHull_eq_union_convexHull_finite_subsets s, exists_prop, mem_Union] using hx)
 #align caratheodory.min_card_finset_of_mem_convex_hull Caratheodory.minCardFinsetOfMemConvexHull
 -/
 
 theorem minCardFinsetOfMemConvexHull_subseteq : ↑(minCardFinsetOfMemConvexHull hx) βŠ† s :=
-  (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).1
+  (Function.argminOn_mem _ _ {t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E)} _).1
 #align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteq
 
 theorem mem_minCardFinsetOfMemConvexHull :
     x ∈ convexHull π•œ (minCardFinsetOfMemConvexHull hx : Set E) :=
-  (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).2
+  (Function.argminOn_mem _ _ {t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E)} _).2
 #align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHull
 
 theorem minCardFinsetOfMemConvexHull_nonempty : (minCardFinsetOfMemConvexHull hx).Nonempty :=
@@ -151,17 +151,17 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
     (Nat.succ_pred_eq_of_pos
         (finset.card_pos.mpr (min_card_finset_of_mem_convex_hull_nonempty hx))).symm
   classical
-    by_contra
-    obtain ⟨p, hp⟩ := mem_convex_hull_erase h (mem_min_card_finset_of_mem_convex_hull hx)
-    have contra :=
-      min_card_finset_of_mem_convex_hull_card_le_card hx
-        (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
-          (min_card_finset_of_mem_convex_hull_subseteq hx))
-        hp
-    rw [← not_lt] at contra 
-    apply contra
-    erw [card_erase_of_mem p.2, hk]
-    exact lt_add_one _
+  by_contra
+  obtain ⟨p, hp⟩ := mem_convex_hull_erase h (mem_min_card_finset_of_mem_convex_hull hx)
+  have contra :=
+    min_card_finset_of_mem_convex_hull_card_le_card hx
+      (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
+        (min_card_finset_of_mem_convex_hull_subseteq hx))
+      hp
+  rw [← not_lt] at contra 
+  apply contra
+  erw [card_erase_of_mem p.2, hk]
+  exact lt_add_one _
 #align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull
 
 end Caratheodory
Diff
@@ -61,7 +61,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     {x : E} (m : x ∈ convexHull π•œ (↑t : Set E)) :
     βˆƒ y : (↑t : Set E), x ∈ convexHull π•œ (↑(t.eraseβ‚“ y) : Set E) :=
   by
-  simp only [Finset.convexHull_eq, mem_set_of_eq] at m⊒
+  simp only [Finset.convexHull_eq, mem_set_of_eq] at m ⊒
   obtain ⟨f, fpos, fsum, rfl⟩ := m
   obtain ⟨g, gcombo, gsum, gpos⟩ := exists_nontrivial_relation_sum_zero_of_not_affine_ind h
   replace gpos := exists_pos_of_sum_zero_of_exists_nonzero g gsum gpos
@@ -72,7 +72,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     apply s.exists_min_image fun z => f z / g z
     obtain ⟨x, hx, hgx⟩ : βˆƒ x ∈ t, 0 < g x := gpos
     exact ⟨x, mem_filter.mpr ⟨hx, hgx⟩⟩
-  have hg : 0 < g iβ‚€ := by rw [mem_filter] at mem; exact mem.2
+  have hg : 0 < g iβ‚€ := by rw [mem_filter] at mem ; exact mem.2
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
   have hk : k iβ‚€ = 0 := by field_simp [k, ne_of_gt hg]
@@ -87,7 +87,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e heiβ‚€ het
     by_cases hes : e ∈ s
-    Β· have hge : 0 < g e := by rw [mem_filter] at hes; exact hes.2
+    Β· have hge : 0 < g e := by rw [mem_filter] at hes ; exact hes.2
       rw [← le_div_iff hge]
       exact w _ hes
     Β· calc
@@ -158,7 +158,7 @@ theorem affineIndependent_minCardFinsetOfMemConvexHull :
         (Set.Subset.trans (Finset.erase_subset (↑p) (min_card_finset_of_mem_convex_hull hx))
           (min_card_finset_of_mem_convex_hull_subseteq hx))
         hp
-    rw [← not_lt] at contra
+    rw [← not_lt] at contra 
     apply contra
     erw [card_erase_of_mem p.2, hk]
     exact lt_add_one _
@@ -187,14 +187,14 @@ theorem convexHull_eq_union :
 
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
-    βˆƒ (ΞΉ : Sort (u + 1))(_ : Fintype ΞΉ),
-      βˆƒ (z : ΞΉ β†’ E)(w : ΞΉ β†’ π•œ)(hss : Set.range z βŠ† s)(hai : AffineIndependent π•œ z)(hw :
+    βˆƒ (ΞΉ : Sort (u + 1)) (_ : Fintype ΞΉ),
+      βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (hss : Set.range z βŠ† s) (hai : AffineIndependent π•œ z) (hw :
         βˆ€ i, 0 < w i), (βˆ‘ i, w i) = 1 ∧ (βˆ‘ i, w i β€’ z i) = x :=
   by
-  rw [convexHull_eq_union] at hx
-  simp only [exists_prop, Set.mem_iUnion] at hx
+  rw [convexHull_eq_union] at hx 
+  simp only [exists_prop, Set.mem_iUnion] at hx 
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
-  simp only [t.convex_hull_eq, exists_prop, Set.mem_setOf_eq] at ht₃
+  simp only [t.convex_hull_eq, exists_prop, Set.mem_setOf_eq] at ht₃ 
   obtain ⟨w, hw₁, hwβ‚‚, hwβ‚ƒβŸ© := ht₃
   let t' := t.filter fun i => w i β‰  0
   refine' ⟨t', t'.fintype_coe_sort, (coe : t' β†’ E), w ∘ (coe : t' β†’ E), _, _, _, _, _⟩
@@ -206,7 +206,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
   Β· erw [Finset.sum_attach, Finset.sum_filter_ne_zero, hwβ‚‚]
   Β· change (βˆ‘ i : t' in t'.attach, (fun e => w e β€’ e) ↑i) = x
     erw [Finset.sum_attach, Finset.sum_filter_of_ne]
-    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃; exact hw₃
+    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃ ; exact hw₃
     Β· intro e he hwe contra; apply hwe; rw [contra, zero_smul]
 #align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHull
 
Diff
@@ -47,7 +47,7 @@ convex hull, caratheodory
 
 open Set Finset
 
-open BigOperators
+open scoped BigOperators
 
 universe u
 
Diff
@@ -55,9 +55,6 @@ variable {π•œ : Type _} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E]
 
 namespace Caratheodory
 
-/- warning: caratheodory.mem_convex_hull_erase -> Caratheodory.mem_convexHull_erase is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_eraseβ‚“'. -/
 /-- If `x` is in the convex hull of some finset `t` whose elements are not affine-independent,
 then it is in the convex hull of a strict subset of `t`. -/
 theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndependent π•œ (coe : t β†’ E))
@@ -126,56 +123,26 @@ noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
 #align caratheodory.min_card_finset_of_mem_convex_hull Caratheodory.minCardFinsetOfMemConvexHull
 -/
 
-/- warning: caratheodory.min_card_finset_of_mem_convex_hull_subseteq -> Caratheodory.minCardFinsetOfMemConvexHull_subseteq is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) s
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) s
-Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteqβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_subseteq : ↑(minCardFinsetOfMemConvexHull hx) βŠ† s :=
   (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).1
 #align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteq
 
-/- warning: caratheodory.mem_min_card_finset_of_mem_convex_hull -> Caratheodory.mem_minCardFinsetOfMemConvexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
-Case conversion may be inaccurate. Consider using '#align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHullβ‚“'. -/
 theorem mem_minCardFinsetOfMemConvexHull :
     x ∈ convexHull π•œ (minCardFinsetOfMemConvexHull hx : Set E) :=
   (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).2
 #align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHull
 
-/- warning: caratheodory.min_card_finset_of_mem_convex_hull_nonempty -> Caratheodory.minCardFinsetOfMemConvexHull_nonempty is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), Finset.Nonempty.{u1} E (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), Finset.Nonempty.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)
-Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_nonempty Caratheodory.minCardFinsetOfMemConvexHull_nonemptyβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_nonempty : (minCardFinsetOfMemConvexHull hx).Nonempty :=
   by
   rw [← Finset.coe_nonempty, ← @convexHull_nonempty_iff π•œ]
   exact ⟨x, mem_min_card_finset_of_mem_convex_hull hx⟩
 #align caratheodory.min_card_finset_of_mem_convex_hull_nonempty Caratheodory.minCardFinsetOfMemConvexHull_nonempty
 
-/- warning: caratheodory.min_card_finset_of_mem_convex_hull_card_le_card -> Caratheodory.minCardFinsetOfMemConvexHull_card_le_card is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) {t : Finset.{u1} E}, (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) -> (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t))) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} E (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) (Finset.card.{u1} E t))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) {t : Finset.{u2} E}, (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) -> (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t))) -> (LE.le.{0} Nat instLENat (Finset.card.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) (Finset.card.{u2} E t))
-Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_card_le_card Caratheodory.minCardFinsetOfMemConvexHull_card_le_cardβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_card_le_card {t : Finset E} (ht₁ : ↑t βŠ† s)
     (htβ‚‚ : x ∈ convexHull π•œ (t : Set E)) : (minCardFinsetOfMemConvexHull hx).card ≀ t.card :=
   Function.argminOn_le _ _ _ ⟨ht₁, htβ‚‚βŸ©
 #align caratheodory.min_card_finset_of_mem_convex_hull_card_le_card Caratheodory.minCardFinsetOfMemConvexHull_card_le_card
 
-/- warning: caratheodory.affine_independent_min_card_finset_of_mem_convex_hull -> Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (coeSubtype.{succ u1} E (fun (x_1 : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x_1 : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx))) (Subtype.val.{succ u2} E (fun (x_1 : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
-Case conversion may be inaccurate. Consider using '#align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHullβ‚“'. -/
 theorem affineIndependent_minCardFinsetOfMemConvexHull :
     AffineIndependent π•œ (coe : minCardFinsetOfMemConvexHull hx β†’ E) :=
   by
@@ -201,9 +168,6 @@ end Caratheodory
 
 variable {s : Set E}
 
-/- warning: convex_hull_eq_union -> convexHull_eq_union is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align convex_hull_eq_union convexHull_eq_unionβ‚“'. -/
 /-- **CarathΓ©odory's convexity theorem** -/
 theorem convexHull_eq_union :
     convexHull π•œ s =
@@ -221,9 +185,6 @@ theorem convexHull_eq_union :
     exact convexHull_mono β€Ή_β€Ί
 #align convex_hull_eq_union convexHull_eq_union
 
-/- warning: eq_pos_convex_span_of_mem_convex_hull -> eq_pos_convex_span_of_mem_convexHull is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHullβ‚“'. -/
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1))(_ : Fintype ΞΉ),
Diff
@@ -75,9 +75,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     apply s.exists_min_image fun z => f z / g z
     obtain ⟨x, hx, hgx⟩ : βˆƒ x ∈ t, 0 < g x := gpos
     exact ⟨x, mem_filter.mpr ⟨hx, hgx⟩⟩
-  have hg : 0 < g iβ‚€ := by
-    rw [mem_filter] at mem
-    exact mem.2
+  have hg : 0 < g iβ‚€ := by rw [mem_filter] at mem; exact mem.2
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
   have hk : k iβ‚€ = 0 := by field_simp [k, ne_of_gt hg]
@@ -92,9 +90,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e heiβ‚€ het
     by_cases hes : e ∈ s
-    Β· have hge : 0 < g e := by
-        rw [mem_filter] at hes
-        exact hes.2
+    Β· have hge : 0 < g e := by rw [mem_filter] at hes; exact hes.2
       rw [← le_div_iff hge]
       exact w _ hes
     Β· calc
@@ -241,8 +237,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
   obtain ⟨w, hw₁, hwβ‚‚, hwβ‚ƒβŸ© := ht₃
   let t' := t.filter fun i => w i β‰  0
   refine' ⟨t', t'.fintype_coe_sort, (coe : t' β†’ E), w ∘ (coe : t' β†’ E), _, _, _, _, _⟩
-  Β· rw [Subtype.range_coe_subtype]
-    exact subset.trans (Finset.filter_subset _ t) ht₁
+  Β· rw [Subtype.range_coe_subtype]; exact subset.trans (Finset.filter_subset _ t) ht₁
   Β· exact htβ‚‚.comp_embedding ⟨_, inclusion_injective (Finset.filter_subset (fun i => w i β‰  0) t)⟩
   Β·
     exact fun i =>
@@ -250,10 +245,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
   Β· erw [Finset.sum_attach, Finset.sum_filter_ne_zero, hwβ‚‚]
   Β· change (βˆ‘ i : t' in t'.attach, (fun e => w e β€’ e) ↑i) = x
     erw [Finset.sum_attach, Finset.sum_filter_of_ne]
-    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃
-      exact hw₃
-    Β· intro e he hwe contra
-      apply hwe
-      rw [contra, zero_smul]
+    Β· rw [t.center_mass_eq_of_sum_1 id hwβ‚‚] at hw₃; exact hw₃
+    Β· intro e he hwe contra; apply hwe; rw [contra, zero_smul]
 #align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHull
 
Diff
@@ -56,10 +56,7 @@ variable {π•œ : Type _} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E]
 namespace Caratheodory
 
 /- warning: caratheodory.mem_convex_hull_erase -> Caratheodory.mem_convexHull_erase is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] [_inst_4 : DecidableEq.{succ u1} E] {t : Finset.{u1} E}, (Not (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t)))))))) -> (forall {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t))) -> (Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) => Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Finset.erase.{u1} E (fun (a : E) (b : E) => _inst_4 a b) t ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))) y)))))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : DecidableEq.{succ u2} E] {t : Finset.{u2} E}, (Not (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)))) -> (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t))) -> (Exists.{succ u2} (Set.Elem.{u2} E (Finset.toSet.{u2} E t)) (fun (y : Set.Elem.{u2} E (Finset.toSet.{u2} E t)) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E (Finset.erase.{u2} E (fun (a : E) (b : E) => _inst_4 a b) t (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (Finset.toSet.{u2} E t)) y)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_eraseβ‚“'. -/
 /-- If `x` is in the convex hull of some finset `t` whose elements are not affine-independent,
 then it is in the convex hull of a strict subset of `t`. -/
@@ -209,10 +206,7 @@ end Caratheodory
 variable {s : Set E}
 
 /- warning: convex_hull_eq_union -> convexHull_eq_union is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Eq.{succ u1} (Set.{u1} E) (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s) (Set.iUnion.{u1, succ u1} E (Finset.{u1} E) (fun (t : Finset.{u1} E) => Set.iUnion.{u1, 0} E (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) => Set.iUnion.{u1, 0} E (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) => coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Eq.{succ u2} (Set.{u2} E) (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s) (Set.iUnion.{u2, succ u2} E (Finset.{u2} E) (fun (t : Finset.{u2} E) => Set.iUnion.{u2, 0} E (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) => Set.iUnion.{u2, 0} E (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t)))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align convex_hull_eq_union convexHull_eq_unionβ‚“'. -/
 /-- **CarathΓ©odory's convexity theorem** -/
 theorem convexHull_eq_union :
@@ -232,10 +226,7 @@ theorem convexHull_eq_union :
 #align convex_hull_eq_union convexHull_eq_union
 
 /- warning: eq_pos_convex_span_of_mem_convex_hull -> eq_pos_convex_span_of_mem_convexHull is a dubious translation:
-lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) -> (Exists.{succ (succ u1)} Type.{u1} (fun (ΞΉ : Type.{u1}) => Exists.{succ u1} (Fintype.{u1} ΞΉ) (fun (_x : Fintype.{u1} ΞΉ) => Exists.{succ u1} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u1) (succ u2)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toHasLt.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toHasLt.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) => And (Eq.{succ u2} π•œ (Finset.sum.{u2, u1} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u2} π•œ (OrderedAddCommGroup.toAddCommGroup.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u2} π•œ 1 (OfNat.mk.{u2} π•œ 1 (One.one.{u2} π•œ (AddMonoidWithOne.toOne.{u2} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u2} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u2} π•œ (Ring.toAddCommGroupWithOne.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (Eq.{succ u1} E (Finset.sum.{u1, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => SMul.smul.{u2, u1} π•œ E (SMulZeroClass.toHasSmul.{u2, u1} π•œ E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u2, u1} π•œ E (MulZeroClass.toHasZero.{u2} π•œ (MulZeroOneClass.toMulZeroClass.{u2} π•œ (MonoidWithZero.toMulZeroOneClass.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (Module.toMulActionWithZero.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (w i) (z i))) x)))))))))
-but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) -> (Exists.{succ (succ u2)} Type.{u2} (fun (ΞΉ : Type.{u2}) => Exists.{succ u2} (Fintype.{u2} ΞΉ) (fun (_x : Fintype.{u2} ΞΉ) => Exists.{succ u2} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u2) (succ u1)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) => And (Eq.{succ u1} π•œ (Finset.sum.{u1, u2} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))))) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))))) (Eq.{succ u2} E (Finset.sum.{u2, u2} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, 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.{u1, u2} π•œ E (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (w i) (z i))) x)))))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHullβ‚“'. -/
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
Diff
@@ -233,7 +233,7 @@ theorem convexHull_eq_union :
 
 /- warning: eq_pos_convex_span_of_mem_convex_hull -> eq_pos_convex_span_of_mem_convexHull is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) -> (Exists.{succ (succ u1)} Type.{u1} (fun (ΞΉ : Type.{u1}) => Exists.{succ u1} (Fintype.{u1} ΞΉ) (fun (_x : Fintype.{u1} ΞΉ) => Exists.{succ u1} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u1) (succ u2)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) => And (Eq.{succ u2} π•œ (Finset.sum.{u2, u1} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u2} π•œ (OrderedAddCommGroup.toAddCommGroup.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u2} π•œ 1 (OfNat.mk.{u2} π•œ 1 (One.one.{u2} π•œ (AddMonoidWithOne.toOne.{u2} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u2} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u2} π•œ (Ring.toAddCommGroupWithOne.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (Eq.{succ u1} E (Finset.sum.{u1, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => SMul.smul.{u2, u1} π•œ E (SMulZeroClass.toHasSmul.{u2, u1} π•œ E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u2, u1} π•œ E (MulZeroClass.toHasZero.{u2} π•œ (MulZeroOneClass.toMulZeroClass.{u2} π•œ (MonoidWithZero.toMulZeroOneClass.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (Module.toMulActionWithZero.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (w i) (z i))) x)))))))))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) -> (Exists.{succ (succ u1)} Type.{u1} (fun (ΞΉ : Type.{u1}) => Exists.{succ u1} (Fintype.{u1} ΞΉ) (fun (_x : Fintype.{u1} ΞΉ) => Exists.{succ u1} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u1) (succ u2)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toHasLt.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toHasLt.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) => And (Eq.{succ u2} π•œ (Finset.sum.{u2, u1} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u2} π•œ (OrderedAddCommGroup.toAddCommGroup.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u2} π•œ 1 (OfNat.mk.{u2} π•œ 1 (One.one.{u2} π•œ (AddMonoidWithOne.toOne.{u2} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u2} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u2} π•œ (Ring.toAddCommGroupWithOne.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (Eq.{succ u1} E (Finset.sum.{u1, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => SMul.smul.{u2, u1} π•œ E (SMulZeroClass.toHasSmul.{u2, u1} π•œ E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u2, u1} π•œ E (MulZeroClass.toHasZero.{u2} π•œ (MulZeroOneClass.toMulZeroClass.{u2} π•œ (MonoidWithZero.toMulZeroOneClass.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (Module.toMulActionWithZero.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (w i) (z i))) x)))))))))
 but is expected to have type
   forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) -> (Exists.{succ (succ u2)} Type.{u2} (fun (ΞΉ : Type.{u2}) => Exists.{succ u2} (Fintype.{u2} ΞΉ) (fun (_x : Fintype.{u2} ΞΉ) => Exists.{succ u2} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u2) (succ u1)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) => And (Eq.{succ u1} π•œ (Finset.sum.{u1, u2} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))))) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))))) (Eq.{succ u2} E (Finset.sum.{u2, u2} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, 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.{u1, u2} π•œ E (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (w i) (z i))) x)))))))))
 Case conversion may be inaccurate. Consider using '#align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHullβ‚“'. -/
Diff
@@ -210,9 +210,9 @@ variable {s : Set E}
 
 /- warning: convex_hull_eq_union -> convexHull_eq_union is a dubious translation:
 lean 3 declaration is
-  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Eq.{succ u1} (Set.{u1} E) (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s) (Set.unionα΅’.{u1, succ u1} E (Finset.{u1} E) (fun (t : Finset.{u1} E) => Set.unionα΅’.{u1, 0} E (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) => Set.unionα΅’.{u1, 0} E (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) => coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Eq.{succ u1} (Set.{u1} E) (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s) (Set.iUnion.{u1, succ u1} E (Finset.{u1} E) (fun (t : Finset.{u1} E) => Set.iUnion.{u1, 0} E (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) => Set.iUnion.{u1, 0} E (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) => coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))
 but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Eq.{succ u2} (Set.{u2} E) (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s) (Set.unionα΅’.{u2, succ u2} E (Finset.{u2} E) (fun (t : Finset.{u2} E) => Set.unionα΅’.{u2, 0} E (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) => Set.unionα΅’.{u2, 0} E (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t)))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Eq.{succ u2} (Set.{u2} E) (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s) (Set.iUnion.{u2, succ u2} E (Finset.{u2} E) (fun (t : Finset.{u2} E) => Set.iUnion.{u2, 0} E (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) => Set.iUnion.{u2, 0} E (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t)))))
 Case conversion may be inaccurate. Consider using '#align convex_hull_eq_union convexHull_eq_unionβ‚“'. -/
 /-- **CarathΓ©odory's convexity theorem** -/
 theorem convexHull_eq_union :
@@ -221,13 +221,13 @@ theorem convexHull_eq_union :
   by
   apply Set.Subset.antisymm
   Β· intro x hx
-    simp only [exists_prop, Set.mem_unionα΅’]
+    simp only [exists_prop, Set.mem_iUnion]
     exact
       ⟨Caratheodory.minCardFinsetOfMemConvexHull hx,
         Caratheodory.minCardFinsetOfMemConvexHull_subseteq hx,
         Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull hx,
         Caratheodory.mem_minCardFinsetOfMemConvexHull hx⟩
-  Β· iterate 3 convert Set.unionα΅’_subset _; intro
+  Β· iterate 3 convert Set.iUnion_subset _; intro
     exact convexHull_mono β€Ή_β€Ί
 #align convex_hull_eq_union convexHull_eq_union
 
@@ -244,7 +244,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
         βˆ€ i, 0 < w i), (βˆ‘ i, w i) = 1 ∧ (βˆ‘ i, w i β€’ z i) = x :=
   by
   rw [convexHull_eq_union] at hx
-  simp only [exists_prop, Set.mem_unionα΅’] at hx
+  simp only [exists_prop, Set.mem_iUnion] at hx
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
   simp only [t.convex_hull_eq, exists_prop, Set.mem_setOf_eq] at ht₃
   obtain ⟨w, hw₁, hwβ‚‚, hwβ‚ƒβŸ© := ht₃
Diff
@@ -235,7 +235,7 @@ theorem convexHull_eq_union :
 lean 3 declaration is
   forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) -> (Exists.{succ (succ u1)} Type.{u1} (fun (ΞΉ : Type.{u1}) => Exists.{succ u1} (Fintype.{u1} ΞΉ) (fun (_x : Fintype.{u1} ΞΉ) => Exists.{succ u1} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u1) (succ u2)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) => And (Eq.{succ u2} π•œ (Finset.sum.{u2, u1} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u2} π•œ (OrderedAddCommGroup.toAddCommGroup.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u2} π•œ 1 (OfNat.mk.{u2} π•œ 1 (One.one.{u2} π•œ (AddMonoidWithOne.toOne.{u2} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u2} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u2} π•œ (Ring.toAddCommGroupWithOne.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (Eq.{succ u1} E (Finset.sum.{u1, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => SMul.smul.{u2, u1} π•œ E (SMulZeroClass.toHasSmul.{u2, u1} π•œ E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u2, u1} π•œ E (MulZeroClass.toHasZero.{u2} π•œ (MulZeroOneClass.toMulZeroClass.{u2} π•œ (MonoidWithZero.toMulZeroOneClass.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (Module.toMulActionWithZero.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (w i) (z i))) x)))))))))
 but is expected to have type
-  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) -> (Exists.{succ (succ u2)} Type.{u2} (fun (ΞΉ : Type.{u2}) => Exists.{succ u2} (Fintype.{u2} ΞΉ) (fun (_x : Fintype.{u2} ΞΉ) => Exists.{succ u2} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u2) (succ u1)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) => And (Eq.{succ u1} π•œ (Finset.sum.{u1, u2} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))))) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (NonAssocRing.toOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (Eq.{succ u2} E (Finset.sum.{u2, u2} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, 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.{u1, u2} π•œ E (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (w i) (z i))) x)))))))))
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) -> (Exists.{succ (succ u2)} Type.{u2} (fun (ΞΉ : Type.{u2}) => Exists.{succ u2} (Fintype.{u2} ΞΉ) (fun (_x : Fintype.{u2} ΞΉ) => Exists.{succ u2} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u2) (succ u1)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) => And (Eq.{succ u1} π•œ (Finset.sum.{u1, u2} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))))) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (Semiring.toOne.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))))) (Eq.{succ u2} E (Finset.sum.{u2, u2} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, 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.{u1, u2} π•œ E (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (w i) (z i))) x)))))))))
 Case conversion may be inaccurate. Consider using '#align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHullβ‚“'. -/
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Scott Morrison
 
 ! This file was ported from Lean 3 source module analysis.convex.caratheodory
-! leanprover-community/mathlib commit e6fab1dc073396d45da082c644642c4f8bff2264
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Tactic.FieldSimp
 /-!
 # CarathΓ©odory's convexity theorem
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Convex hull can be regarded as a refinement of affine span. Both are closure operators but whereas
 convex hull takes values in the lattice of convex subsets, affine span takes values in the much
 coarser sublattice of affine subspaces.
Diff
@@ -52,6 +52,12 @@ variable {π•œ : Type _} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E]
 
 namespace Caratheodory
 
+/- warning: caratheodory.mem_convex_hull_erase -> Caratheodory.mem_convexHull_erase is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] [_inst_4 : DecidableEq.{succ u1} E] {t : Finset.{u1} E}, (Not (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t)))))))) -> (forall {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t))) -> (Exists.{succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) (fun (y : coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) => Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Finset.erase.{u1} E (fun (a : E) (b : E) => _inst_4 a b) t ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Set.{u1} E) Type.{u1} (Set.hasCoeToSort.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))) y)))))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] [_inst_4 : DecidableEq.{succ u2} E] {t : Finset.{u2} E}, (Not (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)))) -> (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t))) -> (Exists.{succ u2} (Set.Elem.{u2} E (Finset.toSet.{u2} E t)) (fun (y : Set.Elem.{u2} E (Finset.toSet.{u2} E t)) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E (Finset.erase.{u2} E (fun (a : E) (b : E) => _inst_4 a b) t (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Set.{u2} E) (Set.instMembershipSet.{u2} E) x (Finset.toSet.{u2} E t)) y)))))))
+Case conversion may be inaccurate. Consider using '#align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_eraseβ‚“'. -/
 /-- If `x` is in the convex hull of some finset `t` whose elements are not affine-independent,
 then it is in the convex hull of a strict subset of `t`. -/
 theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndependent π•œ (coe : t β†’ E))
@@ -114,6 +120,7 @@ variable {s : Set E} {x : E} (hx : x ∈ convexHull π•œ s)
 
 include hx
 
+#print Caratheodory.minCardFinsetOfMemConvexHull /-
 /-- Given a point `x` in the convex hull of a set `s`, this is a finite subset of `s` of minimum
 cardinality, whose convex hull contains `x`. -/
 noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
@@ -121,27 +128,58 @@ noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
     (by
       simpa only [convexHull_eq_union_convexHull_finite_subsets s, exists_prop, mem_Union] using hx)
 #align caratheodory.min_card_finset_of_mem_convex_hull Caratheodory.minCardFinsetOfMemConvexHull
+-/
 
+/- warning: caratheodory.min_card_finset_of_mem_convex_hull_subseteq -> Caratheodory.minCardFinsetOfMemConvexHull_subseteq is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) s
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) s
+Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteqβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_subseteq : ↑(minCardFinsetOfMemConvexHull hx) βŠ† s :=
   (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).1
 #align caratheodory.min_card_finset_of_mem_convex_hull_subseteq Caratheodory.minCardFinsetOfMemConvexHull_subseteq
 
+/- warning: caratheodory.mem_min_card_finset_of_mem_convex_hull -> Caratheodory.mem_minCardFinsetOfMemConvexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
+Case conversion may be inaccurate. Consider using '#align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHullβ‚“'. -/
 theorem mem_minCardFinsetOfMemConvexHull :
     x ∈ convexHull π•œ (minCardFinsetOfMemConvexHull hx : Set E) :=
   (Function.argminOn_mem _ _ { t : Finset E | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } _).2
 #align caratheodory.mem_min_card_finset_of_mem_convex_hull Caratheodory.mem_minCardFinsetOfMemConvexHull
 
+/- warning: caratheodory.min_card_finset_of_mem_convex_hull_nonempty -> Caratheodory.minCardFinsetOfMemConvexHull_nonempty is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), Finset.Nonempty.{u1} E (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), Finset.Nonempty.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)
+Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_nonempty Caratheodory.minCardFinsetOfMemConvexHull_nonemptyβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_nonempty : (minCardFinsetOfMemConvexHull hx).Nonempty :=
   by
   rw [← Finset.coe_nonempty, ← @convexHull_nonempty_iff π•œ]
   exact ⟨x, mem_min_card_finset_of_mem_convex_hull hx⟩
 #align caratheodory.min_card_finset_of_mem_convex_hull_nonempty Caratheodory.minCardFinsetOfMemConvexHull_nonempty
 
+/- warning: caratheodory.min_card_finset_of_mem_convex_hull_card_le_card -> Caratheodory.minCardFinsetOfMemConvexHull_card_le_card is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) {t : Finset.{u1} E}, (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) -> (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t))) -> (LE.le.{0} Nat Nat.hasLe (Finset.card.{u1} E (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) (Finset.card.{u1} E t))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) {t : Finset.{u2} E}, (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) -> (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t))) -> (LE.le.{0} Nat instLENat (Finset.card.{u2} E (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) (Finset.card.{u2} E t))
+Case conversion may be inaccurate. Consider using '#align caratheodory.min_card_finset_of_mem_convex_hull_card_le_card Caratheodory.minCardFinsetOfMemConvexHull_card_le_cardβ‚“'. -/
 theorem minCardFinsetOfMemConvexHull_card_le_card {t : Finset E} (ht₁ : ↑t βŠ† s)
     (htβ‚‚ : x ∈ convexHull π•œ (t : Set E)) : (minCardFinsetOfMemConvexHull hx).card ≀ t.card :=
   Function.argminOn_le _ _ _ ⟨ht₁, htβ‚‚βŸ©
 #align caratheodory.min_card_finset_of_mem_convex_hull_card_le_card Caratheodory.minCardFinsetOfMemConvexHull_card_le_card
 
+/- warning: caratheodory.affine_independent_min_card_finset_of_mem_convex_hull -> Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E} (hx : Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)), AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)) E (coeSubtype.{succ u1} E (fun (x_1 : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u1, u2} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {x : E} (hx : 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)), AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x_1 : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx))) (Subtype.val.{succ u2} E (fun (x_1 : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x_1 (Caratheodory.minCardFinsetOfMemConvexHull.{u2, u1} π•œ E _inst_1 _inst_2 _inst_3 s x hx)))
+Case conversion may be inaccurate. Consider using '#align caratheodory.affine_independent_min_card_finset_of_mem_convex_hull Caratheodory.affineIndependent_minCardFinsetOfMemConvexHullβ‚“'. -/
 theorem affineIndependent_minCardFinsetOfMemConvexHull :
     AffineIndependent π•œ (coe : minCardFinsetOfMemConvexHull hx β†’ E) :=
   by
@@ -167,6 +205,12 @@ end Caratheodory
 
 variable {s : Set E}
 
+/- warning: convex_hull_eq_union -> convexHull_eq_union is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E}, Eq.{succ u1} (Set.{u1} E) (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s) (Set.unionα΅’.{u1, succ u1} E (Finset.{u1} E) (fun (t : Finset.{u1} E) => Set.unionα΅’.{u1, 0} E (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t) s) => Set.unionα΅’.{u1, 0} E (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (HasLiftT.mk.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (CoeTCβ‚“.coe.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeBase.{succ u1, succ u1} (coeSort.{succ u1, succ (succ u1)} (Finset.{u1} E) Type.{u1} (Finset.hasCoeToSort.{u1} E) t) E (coeSubtype.{succ u1} E (fun (x : E) => Membership.Mem.{u1, u1} E (Finset.{u1} E) (Finset.hasMem.{u1} E) x t))))))) => coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) ((fun (a : Type.{u1}) (b : Type.{u1}) [self : HasLiftT.{succ u1, succ u1} a b] => self.0) (Finset.{u1} E) (Set.{u1} E) (HasLiftT.mk.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (CoeTCβ‚“.coe.{succ u1, succ u1} (Finset.{u1} E) (Set.{u1} E) (Finset.Set.hasCoeT.{u1} E))) t)))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E}, Eq.{succ u2} (Set.{u2} E) (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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s) (Set.unionα΅’.{u2, succ u2} E (Finset.{u2} E) (fun (t : Finset.{u2} E) => Set.unionα΅’.{u2, 0} E (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Finset.toSet.{u2} E t) s) => Set.unionα΅’.{u2, 0} E (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) (Subtype.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t)) (Subtype.val.{succ u2} E (fun (x : E) => Membership.mem.{u2, u2} E (Finset.{u2} E) (Finset.instMembershipFinset.{u2} E) x t))) => 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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) (Finset.toSet.{u2} E t)))))
+Case conversion may be inaccurate. Consider using '#align convex_hull_eq_union convexHull_eq_unionβ‚“'. -/
 /-- **CarathΓ©odory's convexity theorem** -/
 theorem convexHull_eq_union :
     convexHull π•œ s =
@@ -184,6 +228,12 @@ theorem convexHull_eq_union :
     exact convexHull_mono β€Ή_β€Ί
 #align convex_hull_eq_union convexHull_eq_union
 
+/- warning: eq_pos_convex_span_of_mem_convex_hull -> eq_pos_convex_span_of_mem_convexHull is a dubious translation:
+lean 3 declaration is
+  forall {π•œ : Type.{u2}} {E : Type.{u1}} [_inst_1 : LinearOrderedField.{u2} π•œ] [_inst_2 : AddCommGroup.{u1} E] [_inst_3 : Module.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)] {s : Set.{u1} E} {x : E}, (Membership.Mem.{u1, u1} E (Set.{u1} E) (Set.hasMem.{u1} E) x (coeFn.{succ u1, succ u1} (ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (fun (_x : ClosureOperator.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) => (Set.{u1} E) -> (Set.{u1} E)) (ClosureOperator.hasCoeToFun.{u1} (Set.{u1} E) (PartialOrder.toPreorder.{u1} (Set.{u1} E) (CompleteSemilatticeInf.toPartialOrder.{u1} (Set.{u1} E) (CompleteLattice.toCompleteSemilatticeInf.{u1} (Set.{u1} E) (Order.Coframe.toCompleteLattice.{u1} (Set.{u1} E) (CompleteDistribLattice.toCoframe.{u1} (Set.{u1} E) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u1} (Set.{u1} E) (Set.completeBooleanAlgebra.{u1} E)))))))) (convexHull.{u2, u1} π•œ E (StrictOrderedSemiring.toOrderedSemiring.{u2} π•œ (StrictOrderedRing.toStrictOrderedSemiring.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3) s)) -> (Exists.{succ (succ u1)} Type.{u1} (fun (ΞΉ : Type.{u1}) => Exists.{succ u1} (Fintype.{u1} ΞΉ) (fun (_x : Fintype.{u1} ΞΉ) => Exists.{succ u1} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u1) (succ u2)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u1} (Set.{u1} E) (Set.hasSubset.{u1} E) (Set.range.{u1, succ u1} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u2, u1, u1, u1} π•œ E E (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u1} E (AddCommGroup.toAddGroup.{u1} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u2} π•œ (Preorder.toLT.{u2} π•œ (PartialOrder.toPreorder.{u2} π•œ (OrderedAddCommGroup.toPartialOrder.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))) (OfNat.ofNat.{u2} π•œ 0 (OfNat.mk.{u2} π•œ 0 (Zero.zero.{u2} π•œ (MulZeroClass.toHasZero.{u2} π•œ (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} π•œ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} π•œ (NonAssocRing.toNonUnitalNonAssocRing.{u2} π•œ (Ring.toNonAssocRing.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (w i)) => And (Eq.{succ u2} π•œ (Finset.sum.{u2, u1} π•œ ΞΉ (AddCommGroup.toAddCommMonoid.{u2} π•œ (OrderedAddCommGroup.toAddCommGroup.{u2} π•œ (StrictOrderedRing.toOrderedAddCommGroup.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u2} π•œ 1 (OfNat.mk.{u2} π•œ 1 (One.one.{u2} π•œ (AddMonoidWithOne.toOne.{u2} π•œ (AddGroupWithOne.toAddMonoidWithOne.{u2} π•œ (AddCommGroupWithOne.toAddGroupWithOne.{u2} π•œ (Ring.toAddCommGroupWithOne.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))))))))) (Eq.{succ u1} E (Finset.sum.{u1, u1} E ΞΉ (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) (Finset.univ.{u1} ΞΉ _x) (fun (i : ΞΉ) => SMul.smul.{u2, u1} π•œ E (SMulZeroClass.toHasSmul.{u2, u1} π•œ E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (SMulWithZero.toSmulZeroClass.{u2, u1} π•œ E (MulZeroClass.toHasZero.{u2} π•œ (MulZeroOneClass.toMulZeroClass.{u2} π•œ (MonoidWithZero.toMulZeroOneClass.{u2} π•œ (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (MulActionWithZero.toSMulWithZero.{u2, u1} π•œ E (Semiring.toMonoidWithZero.{u2} π•œ (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1)))))) (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (AddCommMonoid.toAddMonoid.{u1} E (AddCommGroup.toAddCommMonoid.{u1} E _inst_2)))) (Module.toMulActionWithZero.{u2, u1} π•œ E (Ring.toSemiring.{u2} π•œ (StrictOrderedRing.toRing.{u2} π•œ (LinearOrderedRing.toStrictOrderedRing.{u2} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u2} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u2} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u1} E _inst_2) _inst_3)))) (w i) (z i))) x)))))))))
+but is expected to have type
+  forall {π•œ : Type.{u1}} {E : Type.{u2}} [_inst_1 : LinearOrderedField.{u1} π•œ] [_inst_2 : AddCommGroup.{u2} E] [_inst_3 : Module.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2)] {s : Set.{u2} E} {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.{u1, u2} π•œ E (OrderedCommSemiring.toOrderedSemiring.{u1} π•œ (StrictOrderedCommSemiring.toOrderedCommSemiring.{u1} π•œ (LinearOrderedCommSemiring.toStrictOrderedCommSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3)) s)) -> (Exists.{succ (succ u2)} Type.{u2} (fun (ΞΉ : Type.{u2}) => Exists.{succ u2} (Fintype.{u2} ΞΉ) (fun (_x : Fintype.{u2} ΞΉ) => Exists.{succ u2} (ΞΉ -> E) (fun (z : ΞΉ -> E) => Exists.{max (succ u2) (succ u1)} (ΞΉ -> π•œ) (fun (w : ΞΉ -> π•œ) => Exists.{0} (HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) (fun (hss : HasSubset.Subset.{u2} (Set.{u2} E) (Set.instHasSubsetSet.{u2} E) (Set.range.{u2, succ u2} E ΞΉ z) s) => Exists.{0} (AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) (fun (hai : AffineIndependent.{u1, u2, u2, u2} π•œ E E (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))) _inst_2 _inst_3 (addGroupIsAddTorsor.{u2} E (AddCommGroup.toAddGroup.{u2} E _inst_2)) ΞΉ z) => Exists.{0} (forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) (fun (hw : forall (i : ΞΉ), LT.lt.{u1} π•œ (Preorder.toLT.{u1} π•œ (PartialOrder.toPreorder.{u1} π•œ (StrictOrderedRing.toPartialOrder.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1)))))) (OfNat.ofNat.{u1} π•œ 0 (Zero.toOfNat0.{u1} π•œ (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))))) (w i)) => And (Eq.{succ u1} π•œ (Finset.sum.{u1, u2} π•œ ΞΉ (OrderedCancelAddCommMonoid.toAddCommMonoid.{u1} π•œ (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1)))))) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => w i)) (OfNat.ofNat.{u1} π•œ 1 (One.toOfNat1.{u1} π•œ (NonAssocRing.toOne.{u1} π•œ (Ring.toNonAssocRing.{u1} π•œ (StrictOrderedRing.toRing.{u1} π•œ (LinearOrderedRing.toStrictOrderedRing.{u1} π•œ (LinearOrderedCommRing.toLinearOrderedRing.{u1} π•œ (LinearOrderedField.toLinearOrderedCommRing.{u1} π•œ _inst_1))))))))) (Eq.{succ u2} E (Finset.sum.{u2, u2} E ΞΉ (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) (Finset.univ.{u2} ΞΉ _x) (fun (i : ΞΉ) => HSMul.hSMul.{u1, u2, u2} π•œ E E (instHSMul.{u1, u2} π•œ E (SMulZeroClass.toSMul.{u1, 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.{u1, u2} π•œ E (CommMonoidWithZero.toZero.{u1} π•œ (CommGroupWithZero.toCommMonoidWithZero.{u1} π•œ (Semifield.toCommGroupWithZero.{u1} π•œ (LinearOrderedSemifield.toSemifield.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (Semiring.toMonoidWithZero.{u1} π•œ (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _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.{u1, u2} π•œ E (StrictOrderedSemiring.toSemiring.{u1} π•œ (LinearOrderedSemiring.toStrictOrderedSemiring.{u1} π•œ (LinearOrderedCommSemiring.toLinearOrderedSemiring.{u1} π•œ (LinearOrderedSemifield.toLinearOrderedCommSemiring.{u1} π•œ (LinearOrderedField.toLinearOrderedSemifield.{u1} π•œ _inst_1))))) (AddCommGroup.toAddCommMonoid.{u2} E _inst_2) _inst_3))))) (w i) (z i))) x)))))))))
+Case conversion may be inaccurate. Consider using '#align eq_pos_convex_span_of_mem_convex_hull eq_pos_convex_span_of_mem_convexHullβ‚“'. -/
 /-- A more explicit version of `convex_hull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1))(_ : Fintype ΞΉ),
Diff
@@ -80,7 +80,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       (βˆ‘ e in t.erase iβ‚€, k e) = βˆ‘ e in t, k e := by
         conv_rhs => rw [← insert_erase hiβ‚€, sum_insert (not_mem_erase iβ‚€ t), hk, zero_add]
       _ = βˆ‘ e in t, f e - f iβ‚€ / g iβ‚€ * g e := rfl
-      _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, mul_zero, sub_zero]
+      _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, MulZeroClass.mul_zero, sub_zero]
       
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]

Changes in mathlib4

mathlib3
mathlib4
chore: avoid id.def (adaptation for nightly-2024-03-27) (#11829)

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com>

Diff
@@ -97,7 +97,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) β€’ e := rfl
       _ = t.centerMass f id := by
         simp only [sub_smul, mul_smul, sum_sub_distrib, ← smul_sum, gcombo, smul_zero, sub_zero,
-          centerMass, fsum, inv_one, one_smul, id.def]
+          centerMass, fsum, inv_one, one_smul, id]
 #align caratheodory.mem_convex_hull_erase Caratheodory.mem_convexHull_erase
 
 variable {s : Set E} {x : E} (hx : x ∈ convexHull π•œ s)
chore: avoid Ne.def (adaptation for nightly-2024-03-27) (#11801)
Diff
@@ -77,7 +77,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) := rfl
       _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, mul_zero, sub_zero]
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
-  Β· simp only [k, and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
+  Β· simp only [k, and_imp, sub_nonneg, mem_erase, Ne, Subtype.coe_mk]
     intro e _ het
     by_cases hes : e ∈ s
     Β· have hge : 0 < g e := by
chore: prepare Lean version bump with explicit simp (#10999)

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

Diff
@@ -69,7 +69,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
     exact mem.2
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
-  have hk : k iβ‚€ = 0 := by field_simp [ne_of_gt hg]
+  have hk : k iβ‚€ = 0 := by field_simp [k, ne_of_gt hg]
   have ksum : βˆ‘ e in t.erase iβ‚€, k e = 1 := by
     calc
       βˆ‘ e in t.erase iβ‚€, k e = βˆ‘ e in t, k e := by
@@ -77,7 +77,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) := rfl
       _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, mul_zero, sub_zero]
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
-  Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
+  Β· simp only [k, and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e _ het
     by_cases hes : e ∈ s
     Β· have hge : 0 < g e := by
@@ -89,7 +89,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
         _ ≀ 0 := by
           apply mul_nonpos_of_nonneg_of_nonpos
           Β· apply div_nonneg (fpos iβ‚€ (mem_of_subset (filter_subset _ t) mem)) (le_of_lt hg)
-          Β· simpa only [mem_filter, het, true_and_iff, not_lt] using hes
+          Β· simpa only [s, mem_filter, het, true_and_iff, not_lt] using hes
         _ ≀ f e := fpos e het
   Β· rw [Subtype.coe_mk, centerMass_eq_of_sum_1 _ id ksum]
     calc
chore(*): use βˆƒ x ∈ s, _ instead of βˆƒ (x) (_ : x ∈ s), _ (#9184)

Search for [βˆ€βˆƒ].*(_ and manually replace some occurrences with more readable versions. In case of βˆ€, the new expressions are defeq to the old ones. In case of βˆƒ, they differ by exists_prop.

In some rare cases, golf proofs that needed fixing.

Diff
@@ -166,8 +166,8 @@ theorem convexHull_eq_union : convexHull π•œ s =
 /-- A more explicit version of `convexHull_eq_union`. -/
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1)) (_ : Fintype ΞΉ),
-      βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (_ : Set.range z βŠ† s) (_ : AffineIndependent π•œ z)
-        (_ : βˆ€ i, 0 < w i), βˆ‘ i, w i = 1 ∧ βˆ‘ i, w i β€’ z i = x := by
+      βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ), Set.range z βŠ† s ∧ AffineIndependent π•œ z ∧ (βˆ€ i, 0 < w i) ∧
+        βˆ‘ i, w i = 1 ∧ βˆ‘ i, w i β€’ z i = x := by
   rw [convexHull_eq_union] at hx
   simp only [exists_prop, Set.mem_iUnion] at hx
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
chore: drop MulZeroClass. in mul_zero/zero_mul (#6682)

Search&replace MulZeroClass.mul_zero -> mul_zero, MulZeroClass.zero_mul -> zero_mul.

These were introduced by Mathport, as the full name of mul_zero is actually MulZeroClass.mul_zero (it's exported with the short name).

Diff
@@ -75,7 +75,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
       βˆ‘ e in t.erase iβ‚€, k e = βˆ‘ e in t, k e := by
         conv_rhs => rw [← insert_erase hiβ‚€, sum_insert (not_mem_erase iβ‚€ t), hk, zero_add]
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) := rfl
-      _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, MulZeroClass.mul_zero, sub_zero]
+      _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, mul_zero, sub_zero]
   refine' ⟨⟨iβ‚€, hiβ‚€βŸ©, k, _, by convert ksum, _⟩
   Β· simp only [and_imp, sub_nonneg, mem_erase, Ne.def, Subtype.coe_mk]
     intro e _ het
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -45,7 +45,7 @@ open BigOperators
 
 universe u
 
-variable {π•œ : Type _} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E] [Module π•œ E]
+variable {π•œ : Type*} {E : Type u} [LinearOrderedField π•œ] [AddCommGroup E] [Module π•œ E]
 
 namespace Caratheodory
 
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johan Commelin, Scott Morrison
-
-! This file was ported from Lean 3 source module analysis.convex.caratheodory
-! leanprover-community/mathlib commit e6fab1dc073396d45da082c644642c4f8bff2264
-! 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.LinearAlgebra.AffineSpace.Independent
 import Mathlib.Tactic.FieldSimp
 
+#align_import analysis.convex.caratheodory from "leanprover-community/mathlib"@"e6fab1dc073396d45da082c644642c4f8bff2264"
+
 /-!
 # CarathΓ©odory's convexity theorem
 
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
@@ -73,9 +73,9 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   have hiβ‚€ : iβ‚€ ∈ t := filter_subset _ _ mem
   let k : E β†’ π•œ := fun z => f z - f iβ‚€ / g iβ‚€ * g z
   have hk : k iβ‚€ = 0 := by field_simp [ne_of_gt hg]
-  have ksum : (βˆ‘ e in t.erase iβ‚€, k e) = 1 := by
+  have ksum : βˆ‘ e in t.erase iβ‚€, k e = 1 := by
     calc
-      (βˆ‘ e in t.erase iβ‚€, k e) = βˆ‘ e in t, k e := by
+      βˆ‘ e in t.erase iβ‚€, k e = βˆ‘ e in t, k e := by
         conv_rhs => rw [← insert_erase hiβ‚€, sum_insert (not_mem_erase iβ‚€ t), hk, zero_add]
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) := rfl
       _ = 1 := by rw [sum_sub_distrib, fsum, ← mul_sum, gsum, MulZeroClass.mul_zero, sub_zero]
@@ -96,7 +96,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
         _ ≀ f e := fpos e het
   Β· rw [Subtype.coe_mk, centerMass_eq_of_sum_1 _ id ksum]
     calc
-      (βˆ‘ e in t.erase iβ‚€, k e β€’ e) = βˆ‘ e in t, k e β€’ e := sum_erase _ (by rw [hk, zero_smul])
+      βˆ‘ e in t.erase iβ‚€, k e β€’ e = βˆ‘ e in t, k e β€’ e := sum_erase _ (by rw [hk, zero_smul])
       _ = βˆ‘ e in t, (f e - f iβ‚€ / g iβ‚€ * g e) β€’ e := rfl
       _ = t.centerMass f id := by
         simp only [sub_smul, mul_smul, sum_sub_distrib, ← smul_sum, gcombo, smul_zero, sub_zero,
@@ -170,7 +170,7 @@ theorem convexHull_eq_union : convexHull π•œ s =
 theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ s) :
     βˆƒ (ΞΉ : Sort (u + 1)) (_ : Fintype ΞΉ),
       βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (_ : Set.range z βŠ† s) (_ : AffineIndependent π•œ z)
-        (_ : βˆ€ i, 0 < w i), (βˆ‘ i, w i) = 1 ∧ (βˆ‘ i, w i β€’ z i) = x := by
+        (_ : βˆ€ i, 0 < w i), βˆ‘ i, w i = 1 ∧ βˆ‘ i, w i β€’ z i = x := by
   rw [convexHull_eq_union] at hx
   simp only [exists_prop, Set.mem_iUnion] at hx
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
chore: clean up spacing around at and goals (#5387)

Changes are of the form

  • some_tactic at h⊒ -> some_tactic at h ⊒
  • some_tactic at h -> some_tactic at h
Diff
@@ -57,7 +57,7 @@ then it is in the convex hull of a strict subset of `t`. -/
 theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndependent π•œ ((↑) : t β†’ E))
     {x : E} (m : x ∈ convexHull π•œ (↑t : Set E)) :
     βˆƒ y : (↑t : Set E), x ∈ convexHull π•œ (↑(t.erase y) : Set E) := by
-  simp only [Finset.convexHull_eq, mem_setOf_eq] at m⊒
+  simp only [Finset.convexHull_eq, mem_setOf_eq] at m ⊒
   obtain ⟨f, fpos, fsum, rfl⟩ := m
   obtain ⟨g, gcombo, gsum, gpos⟩ := exists_nontrivial_relation_sum_zero_of_not_affine_ind h
   replace gpos := exists_pos_of_sum_zero_of_exists_nonzero g gsum gpos
fix: correct names of LinearOrder decidable fields (#4006)

This renames

  • decidable_eq to decidableEq
  • decidable_lt to decidableLT
  • decidable_le to decidableLE
  • decidableLT_of_decidableLE to decidableLTOfDecidableLE
  • decidableEq_of_decidableLE to decidableEqOfDecidableLE

These fields are data not proofs, so they should be lowerCamelCased.

Diff
@@ -62,7 +62,7 @@ theorem mem_convexHull_erase [DecidableEq E] {t : Finset E} (h : Β¬AffineIndepen
   obtain ⟨g, gcombo, gsum, gpos⟩ := exists_nontrivial_relation_sum_zero_of_not_affine_ind h
   replace gpos := exists_pos_of_sum_zero_of_exists_nonzero g gsum gpos
   clear h
-  let s := @Finset.filter _ (fun z => 0 < g z) (fun _ => LinearOrder.decidable_lt _ _) t
+  let s := @Finset.filter _ (fun z => 0 < g z) (fun _ => LinearOrder.decidableLT _ _) t
   obtain ⟨iβ‚€, mem, w⟩ : βˆƒ iβ‚€ ∈ s, βˆ€ i ∈ s, f iβ‚€ / g iβ‚€ ≀ f i / g i := by
     apply s.exists_min_image fun z => f z / g z
     obtain ⟨x, hx, hgx⟩ : βˆƒ x ∈ t, 0 < g x := gpos
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supβ‚› β†’ sSup
  • infβ‚› β†’ sInf
  • supα΅’ β†’ iSup
  • infα΅’ β†’ iInf
  • bsupβ‚› β†’ bsSup
  • binfβ‚› β†’ bsInf
  • bsupα΅’ β†’ biSup
  • binfα΅’ β†’ biInf
  • csupβ‚› β†’ csSup
  • cinfβ‚› β†’ csInf
  • csupα΅’ β†’ ciSup
  • cinfα΅’ β†’ ciInf
  • unionβ‚› β†’ sUnion
  • interβ‚› β†’ sInter
  • unionα΅’ β†’ iUnion
  • interα΅’ β†’ iInter
  • bunionβ‚› β†’ bsUnion
  • binterβ‚› β†’ bsInter
  • bunionα΅’ β†’ biUnion
  • binterα΅’ β†’ biInter

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

Diff
@@ -109,7 +109,7 @@ variable {s : Set E} {x : E} (hx : x ∈ convexHull π•œ s)
 cardinality, whose convex hull contains `x`. -/
 noncomputable def minCardFinsetOfMemConvexHull : Finset E :=
   Function.argminOn Finset.card Nat.lt_wfRel.2 { t | ↑t βŠ† s ∧ x ∈ convexHull π•œ (t : Set E) } <| by
-    simpa only [convexHull_eq_union_convexHull_finite_subsets s, exists_prop, mem_unionα΅’] using hx
+    simpa only [convexHull_eq_union_convexHull_finite_subsets s, exists_prop, mem_iUnion] using hx
 #align caratheodory.min_card_finset_of_mem_convex_hull Caratheodory.minCardFinsetOfMemConvexHull
 
 theorem minCardFinsetOfMemConvexHull_subseteq : ↑(minCardFinsetOfMemConvexHull hx) βŠ† s :=
@@ -157,12 +157,12 @@ theorem convexHull_eq_union : convexHull π•œ s =
     ⋃ (t : Finset E) (hss : ↑t βŠ† s) (hai : AffineIndependent π•œ ((↑) : t β†’ E)), convexHull π•œ ↑t := by
   apply Set.Subset.antisymm
   Β· intro x hx
-    simp only [exists_prop, Set.mem_unionα΅’]
+    simp only [exists_prop, Set.mem_iUnion]
     exact ⟨Caratheodory.minCardFinsetOfMemConvexHull hx,
       Caratheodory.minCardFinsetOfMemConvexHull_subseteq hx,
       Caratheodory.affineIndependent_minCardFinsetOfMemConvexHull hx,
       Caratheodory.mem_minCardFinsetOfMemConvexHull hx⟩
-  Β· iterate 3 convert Set.unionα΅’_subset _; intro
+  Β· iterate 3 convert Set.iUnion_subset _; intro
     exact convexHull_mono β€Ή_β€Ί
 #align convex_hull_eq_union convexHull_eq_union
 
@@ -172,7 +172,7 @@ theorem eq_pos_convex_span_of_mem_convexHull {x : E} (hx : x ∈ convexHull π•œ
       βˆƒ (z : ΞΉ β†’ E) (w : ΞΉ β†’ π•œ) (_ : Set.range z βŠ† s) (_ : AffineIndependent π•œ z)
         (_ : βˆ€ i, 0 < w i), (βˆ‘ i, w i) = 1 ∧ (βˆ‘ i, w i β€’ z i) = x := by
   rw [convexHull_eq_union] at hx
-  simp only [exists_prop, Set.mem_unionα΅’] at hx
+  simp only [exists_prop, Set.mem_iUnion] at hx
   obtain ⟨t, ht₁, htβ‚‚, htβ‚ƒβŸ© := hx
   simp only [t.convexHull_eq, exists_prop, Set.mem_setOf_eq] at ht₃
   obtain ⟨w, hw₁, hwβ‚‚, hwβ‚ƒβŸ© := ht₃
feat: port Analysis.Convex.Caratheodory (#3639)

Dependencies 9 + 445

446 files ported (98.0%)
186017 lines ported (98.2%)
Show graph

The unported dependencies are