Faces of the unit ball contained in the sphere, and the conclusions of the face theorem
DefinitionPlasticity_FacesLet be a real normed space with closed unit ball and unit sphere .
A sphere face (IsSphereFace C) is a nonempty convex set that is an extreme subset of : whenever a point of lies in the open segment between two points of , both points lie in . Its dimension is , written Module.finrank ℝ (vectorSpan ℝ C); its relative boundary and relative interior are taken in its affine hull (intrinsicFrontier, intrinsicInterior).
For a map from the unit ball of to that of and a sphere face of , MatchesFace F C states, for : is a compact sphere face of of the same finite dimension as ; ; ; ; and for . It bundles the conclusions of the face theorem (card Plasticity.Faces.matchesFace_of_finiteDimensional) for use in lemma cards.
import Mathlib.Analysis.Normed.Module.Basic
import Mathlib.Analysis.Convex.Extreme
import Mathlib.Analysis.Convex.Intrinsic
import Mathlib.LinearAlgebra.FiniteDimensional.Defs
/-!
# Plasticity: faces of the unit ball
A *sphere face* of the closed unit ball `B` of a real normed space is a nonempty convex subset
`C` of the unit sphere that is an extreme subset of `B`: if a point of `C` lies in the open
segment between two points of `B`, both points lie in `C`.
Its dimension is that of its affine span, `Module.finrank ℝ (vectorSpan ℝ C)`, and its relative
boundary and relative interior are Mathlib's `intrinsicFrontier ℝ C` and `intrinsicInterior ℝ C`.
`MatchesFace F C` collects, for a map `F` between unit balls and a face `C` of the target ball,
the conclusions of the face theorem about `D = B_X ∩ F⁻¹(C)`; it is used by the lemma cards of
the face theorem.
-/
namespace Plasticity
open scoped Pointwise
/-- `C` is a face of the closed unit ball of `E` contained in the unit sphere. -/
def IsSphereFace {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (C : Set E) : Prop :=
C.Nonempty ∧ Convex ℝ C ∧ C ⊆ Metric.sphere (0 : E) 1 ∧
IsExtreme ℝ (Metric.closedBall (0 : E) 1) C
/-- The conclusions of the face theorem for a face `C` of the unit ball of `Y` and the set
`D = B_X ∩ F⁻¹(C)`: `D` is a compact sphere face of the same finite dimension,
`B_X ∩ F⁻¹(-C) = -D`, `F` matches relative boundaries and extreme points, and `F` maps `t • D`
onto `t • C` for `0 ≤ t ≤ 1`. -/
def MatchesFace {X Y : Type*} [NormedAddCommGroup X] [NormedSpace ℝ X]
[NormedAddCommGroup Y] [NormedSpace ℝ Y] (F : X → Y) (C : Set Y) : Prop :=
IsSphereFace (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C) ∧
IsCompact (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C) ∧
FiniteDimensional ℝ (vectorSpan ℝ (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C)) ∧
Module.finrank ℝ (vectorSpan ℝ (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C)) =
Module.finrank ℝ (vectorSpan ℝ C) ∧
Metric.closedBall (0 : X) 1 ∩ F ⁻¹' (-C) = -(Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C) ∧
Metric.closedBall (0 : X) 1 ∩ F ⁻¹' (intrinsicFrontier ℝ C) =
intrinsicFrontier ℝ (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C) ∧
Metric.closedBall (0 : X) 1 ∩ F ⁻¹' (C.extremePoints ℝ) =
(Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C).extremePoints ℝ ∧
∀ t ∈ Set.Icc (0 : ℝ) 1, F '' (t • (Metric.closedBall (0 : X) 1 ∩ F ⁻¹' C)) = t • C
end Plasticity
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Read-back. The file makes two definitions.
Sphere face. For a real normed space and a set , " is a sphere face" means all of:
- ;
- is convex;
- ;
- is an extreme subset of : , and for all and , if lies in the open segment between and , then and .
No closedness and no finite-dimensionality is required. In the zero space , so no set is a sphere face there.
Face matching. For real normed spaces (completeness not assumed), any function (no Lipschitz, injectivity or surjectivity condition) and any set , put
" matches the face " means all eight of:
- is a sphere face of (nonempty, convex, , extreme subset of );
- is compact;
- the linear span of is finite-dimensional;
- (no finite-dimensionality of is required, so if the span of is infinite-dimensional the right side is );
- ;
- ;
- ;
- for every , (image of the set ).
Since and , only the values of on enter.
Flags.
- Lean conventions. In item 4, for a whose span of is infinite-dimensional, , so the predicate would force to be a single point: a junk reading.
In item 6, of a non-closed contains points outside .
Both are harmless in every use in these cards, because the predicate is only applied to faces (or ) with finite-dimensional span, and such sphere faces are compact (card
isCompact_and_eq_closedBall_inter_affineSpan); is compact by item 2. Item 8 at says whenever (which item 1 guarantees). - Names.
IsSphereFaceis accurate: a nonempty convex extreme subset of the ball lying in the sphere, i.e. a proper nonempty face.MatchesFaceis generic: it does not say that the object is the preimage ; a name such asPreimageMatchesFacewould describe it better (minor). - Docstrings. The docstrings agree with the code.
- Truth. Definitions; nothing to prove. Convexity (item 2 of the sphere face) is a genuine extra condition, since extreme subsets need not be convex.