Ported for Lean Pool: imports relocated and code adapted to Lean/Mathlib v4.34.0.
Exposed points and Mathlib bridges #
This module defines the project-local exposed-point carrier and relates it to Mathlib
Set.exposedPoints.
Recession directions of a set s based at p.
For a closed convex set this is independent of the base point p once p ∈ s, but the based
version is enough for the exposed-point step in Rockafellar 25.6.
Equations
Instances For
Directions of affine lines through p contained in s.
Instances For
A set contains no nontrivial affine line.
Equations
- AleksandrovDifferentiability.HasNoAffineLines s = ∀ ⦃p q : E⦄, p ∈ s → q ∈ AleksandrovDifferentiability.lineDirectionsAt s p → q = 0
Instances For
The exposed points of a set, with the exposing normal existentially packaged.
Rockafellar 25.6 uses Straszewicz's theorem to approximate extreme points by exposed points. This set is the Lean-facing carrier for that exposed-point reduction.
Equations
- AleksandrovDifferentiability.exposedPoints s = {p : E | ∃ (normal : E), AleksandrovDifferentiability.ExposesPoint s normal p}
Instances For
An exposed point is a point of the original set.
An exposed point admits a unit exposing normal whenever the ambient space has a unit vector.
This is the existential form used after applying Straszewicz: the exposed-point carrier only stores some exposing normal, and this lemma recovers Rockafellar's unit normal.
A project-local exposed point is a Mathlib exposed point.
A Mathlib exposed point is a project-local exposed point, using Fréchet-Riesz to represent the exposing functional by an inner-product normal vector.
In complete real inner product spaces, the project-local exposed points are exactly Mathlib's exposed points.
Mathlib exposed points are exactly project-local singleton exposed faces, for some normal.
A unique maximizer of a continuous linear functional is a Mathlib exposed point.
This is the basic exposed-point recognition lemma used in the Rockafellar 25.6 route: once a
linear functional has a unique maximizer on a convex set, that maximizer belongs to
Set.exposedPoints. No convexity is needed for this definitional bridge.
A Mathlib exposed point supplies a continuous linear functional with a unique maximum.
This is the unpacked form of Set.exposedPoints, phrased with IsMaxOn so later
Rockafellar-style arguments can use the standard extremum API.