Documentation

Tdaf.Analysis.Convex.Polyhedral.Faces

Finite generation and a finite set of faces #

A closed convex set has only finitely many faces exactly when it is finitely generated. This is the third description of a polyhedral convex set: Polyhedral/Defs.lean identifies "polyhedral" with "finitely generated", and this module adds "closed, with a finite set of faces".

Main results #

Implementation notes #

Extreme directions are counted as rays, not as vectors: extremeDirections C is closed under positive rescaling and so is never finite. What a finite face set bounds is the number of half-line faces, and exists_finite_generating_extremeDirections turns that bound into a finite generating set by choosing a direction vector for each half-line face.

References #

Counting extreme points and extreme directions #

A set with finitely many faces has finitely many extreme points, because the extreme points are exactly the singleton faces (isFace_singleton).

A set with finitely many faces has finitely many extreme rays: there is a finite subset of extremeDirections C generating all of it as a pointed cone. Every extreme direction is the direction of a half-line face, and every generator of one lies in that face's recession cone.

A finitely generated set has only finitely many extreme points. extremePoints_convexHullPD_subset puts every extreme point among the generating points, so a Finset of generators bounds them. Nothing here is finite-dimensional or even normed.

The faces of a finitely generated set #

A face of a finitely generated set is finitely generated. The face is the hull of the generating points it contains and the generating directions in which it recedes, both of which are a Finset.filter of the original generators.

A finitely generated set has only finitely many faces, the same description making the face map factor through the pairs of subsets of the two generating sets.

Finitely many faces forces finite generation #

A closed convex set containing no lines and having only finitely many faces is finitely generated. The set is the hull of its extreme points and extreme directions, a finite face set bounds both, and replacing the extreme directions by a finite generating set keeps the hull.

A closed convex set with only finitely many faces is polyhedral. Rockafellar's reduction to lineality zero: with N the lineality space and M a complement, C = N + (C ∩ M), the faces of C ∩ M correspond to those of C, and C ∩ M contains no lines because a line inside it would have its direction in N ⊓ M = ⊥. So C ∩ M is finitely generated and C is a sum of two polyhedral sets.

A closed convex set with only finitely many faces is finitely generated.

A convex set is polyhedral exactly when it is closed and has only finitely many faces. Together with polyhedral_iff_finitelyGenerated this is the full three-way characterisation.