The Euclidean instantiation shared by every ℝⁿ surface #
Rn n is EuclideanSpace ℝ (Fin n) and pairing n is its own inner product read as a bilinear
map. Together they instantiate the backbone's duality theory at a stroke, which is why a textbook
written in ℝⁿ can state everything without qualification. Nothing here is tied to one book.
Main definitions #
Rn n— the ambient space.pairing n— the self-pairing⟨x, y⟩, as aLinearMapso that the backbone's duality applies.pairingProd,pairingAdjoint— the pairing on a product, and its sign-flipped form.linFn b— the vectorbread as the linear function⟨·, b⟩.
Main results #
flip_pairing— the pairing is its own flip;conj_flip_pairingand its seven companions rewrite away the.flipa bipolar theorem hands back.pairing_comm,forall_pairing_le_comm,forall_pairing_lt_comm— a book writes a linear system as⟨aᵢ, x⟩ ≤ αᵢand the backbone puts the variable on the left; these translate.exists_linFn,linFn_eq_toDual— the Fréchet–Riesz translation between the book's vectorband the backbone's continuous linear functional.pairingProd_euclideanProdEquiv—pairingProdis the inner product ofRn (m + n), read through the concatenation of coordinates.
Implementation notes #
A textbook in ℝⁿ identifies a space with its dual, writing x* for a vector of the same space.
Both sides of pairing n are Rn n, so the book's * is a naming convention here and not a type
distinction. The backbone keeps its two spaces apart precisely so that the general theory cannot
use self-duality silently.
References #
- R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970.
The ambient space of a finite-dimensional real surface: ℝⁿ with its Euclidean structure.
Equations
- TdafSurface.Rn n = EuclideanSpace ℝ (Fin n)
Instances For
The standard inner product on Rn n, as a bilinear map, which is the form the backbone's
duality theory takes. A book that writes ⟨x, x*⟩ for vectors of one space means this. An
abbrev, not a def: instance search does not unfold a plain def, and every pairing class the
surface needs is stated about innerₗ.
Equations
Instances For
pairing n separates on the right, which is the hypothesis the backbone's level-set and
recession duality asks for in place of a book's y ≠ 0.
The sign-flipped product pairing of §30: the one Rockafellar's adjoint F* of a convex
bifunction is stated against.
Equations
Instances For
The product pairing is the pairing of Rn (m + n), read through the concatenation of
coordinates (euclideanProdEquiv). This is the identification a text in ℝⁿ makes silently
whenever it writes a point of ℝᵐ × ℝⁿ as a point of ℝᵐ⁺ⁿ.
Dimension #
Module.finrank ℝ (Rn n) = n is finrank_euclideanSpace_fin, which Mathlib does not mark simp;
every dimension count the surface states needs it.
Instance discharge #
Each example asserts that a class the surface needs is found by instance search with no
hypothesis. They are the regression test for the instantiation.
Rewriting .flip away #
flip_pairing is a simp lemma, but a .flip inside a conj or a subgradient sits under a
binder simp will not always reach.
The vector picture of a linear function #
A book writes a linear function on ℝⁿ as ⟨·, b⟩ and quantifies over the vector b; the
backbone quantifies over a continuous linear functional, which is what separation produces.
linFn is the Fréchet–Riesz map, so the surface's vector-to-functional translation and the
one the backbone's gradient results are stated against are the same map.
The Riesz representative of v evaluated at x is the book's ⟨x, v⟩. Every backbone result
about HasGradientAt produces the left-hand side, and every surface statement wants the right.
The canonical adjoint #
Between arbitrarily paired spaces a transpose need not exist, so the backbone keeps the adjoint as
data. On ℝⁿ it is canonical, and isAdjointPair_adjoint already covers innerₗ (Rn n): a
surface section writes A* as LinearMap.adjoint A and discharges the hypothesis with it.