Extreme sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines extreme sets and extreme points for sets in a module.
An extreme set of A
is a subset of A
that is as far as it can get in any outward direction: If
point x
is in it and point y ∈ A
, then the line passing through x
and y
leaves A
at x
.
This is an analytic notion of "being on the side of". It is weaker than being exposed (see
is_exposed.is_extreme
).
Main declarations #
is_extreme 𝕜 A B
: States thatB
is an extreme set ofA
(in the literature,A
is often implicit).set.extreme_points 𝕜 A
: Set of extreme points ofA
(corresponding to extreme singletons).convex.mem_extreme_points_iff_convex_diff
: A useful equivalent condition to being an extreme point:x
is an extreme point iffA \ {x}
is convex.
Implementation notes #
The exact definition of extremeness has been carefully chosen so as to make as many lemmas
unconditional (in particular, the Krein-Milman theorem doesn't need the set to be convex!).
In practice, A
is often assumed to be a convex set.
References #
See chapter 8 of Barry Simon, Convexity
TODO #
Prove lemmas relating extreme sets and points to the intrinsic frontier.
More not-yet-PRed stuff is available on the branch sperner_again
.
A set B
is an extreme subset of A
if B ⊆ A
and all points of B
only belong to open
segments whose ends are in B
.
Equations
Instances for is_extreme
A point x
is an extreme point of a set A
if x
belongs to no open segment with ends in
A
, except for the obvious open_segment x x
.
x is an extreme point to A iff {x} is an extreme set of A.
A useful restatement using segment
: x
is an extreme point iff the only (closed) segments
that contain it are those with x
as one of their endpoints.