Kernels of saddle-functions #
The kernel of a concave-convex function K is its restriction to the relative interior
ri (dom₁ K) × ri (dom₂ K) of its effective domain, and it is a complete invariant: two closed
proper concave-convex functions are equivalent exactly when their kernels agree. Every simple
proper such function determines a single equivalence class of closed proper functions with that
kernel, the order interval between its lower and upper closures; and closedness of a proper K is
visible in the two effective domains C = dom₁ K and D = dom₂ K alone, with no closure
operation involved.
Main definitions #
kernelSet K— the rectangleri (dom₁ K) ×ˢ ri (dom₂ K), which isri (dom K);kernel KisKon that rectangle and⊤off it.domSaddle K—dom K = dom₁ K × dom₂ K;ProperSaddleFn K— both halves nonempty.SaddleStructure K— the six structural clauses of a closed proper saddle-function, asConvexSliceStructureforKand forsaddleSwap K.SimpleSaddleFn K— Rockafellar's simple: overri (dom₁ K)the convex slices stay insidecl (dom₂ K), and symmetrically.lowerSimpleExt C D K,upperSimpleExt C D K— the two simple extensions of a finite saddle-function onC × D.
Main results #
saddleEquiv_iff_kernel_eq— equivalence is detected by the kernel (Theorem 34.4 in [^1]);closedSaddleFn_iff_saddleStructure— closedness is detected by the six structural clauses.exists_unique_saddleEquiv_class_of_kernel— a simple proper saddle-function has exactly one class of closed proper functions with its kernel (Theorem 34.5 in [^1]);exists_unique_saddleEquiv_class_of_finite— the same starting from a finite saddle-function.kernel_partialCl₂,kernel_partialCl₁,SimpleSaddleFn.partialCl₂,SimpleSaddleFn.partialCl₁—cl₁andcl₂preserve simplicity, properness and the kernel, which is the engine of that uniqueness.lowerCl_idem,upperCl_idem— the lower and upper closures are idempotent, with no duality.mem_saddleClass_simpleExt_iff_saddleEquiv— the extensions of a finite saddle-function with the prescribed infinite values offC × Dare one full equivalence class;SaddleEquiv.eq_of_mem_relint_dom₁— equivalent closed functions agree overri (dom₁ K).clFn_eq_of_eqOn_relint_dom,clConcave_eq_of_eqOn_relint_domConcave— a closed convex function is determined by its values onri (dom f).domConcave_bracket— the concave effective domain ofu ↦ ⟨Fu, y⟩isdom F;bracket_eq_concaveBracket_adjointBifun_of_polyhedral— for a proper polyhedral bifunction the relative interior may be dropped and the two brackets agree except at the pairs withu ∉ dom Fandy ∉ dom F*;exists_unique_bifun_of_simpleExt— a finite continuous saddle-function on a closedC × Dcomes from a unique closed convex bifunction.
Implementation notes #
kernel K is a total function rather than a Set.restrict: equations between restrictions to
rectangles that move with the function are unusable, whereas kernel K = kernel L is one honest
equation, which kernel_eq_iff unpacks into "same rectangle, same values there". Taking the kernel
to be its rectangle alone would break the invariance, since K and K + 1 share a rectangle.
Finite dimension is used only where ri appears. No pairing appears in any statement here:
concave-convexity of the partial closures is the only input from the duality layer, and over a
normed space the continuous dual supplies the compatible pairing internally.
References #
[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §33 and §34.
Closures agree when the functions agree on a common relative interior #
Two convex functions that agree on the relative interior of a common effective domain have the
same lower semicontinuous hull — the sharp form of "a closed convex function is determined by its
values on the relative interior of its effective domain". From a relative interior point the
half-open segment towards y stays in the relative interior, where the two agree; off
cl (dom f) both hulls are ⊤.
The clFn form of lscHull_eq_of_eqOn_relint_dom.
The concave counterpart of clFn_eq_of_eqOn_relint_dom: two concave functions that agree on
the relative interior of a common effective domain have the same concave closure.
The concave effective domain of -h is the convex effective domain of h.
Auxiliary facts about closures and relative interiors #
A convex closure that reaches -∞ anywhere is the constant -∞.
A concave closure that reaches +∞ anywhere is the constant +∞.
A convex set squeezed between C and cl C has the same relative interior as C.
The concave counterpart of ConvexFn.clFn_eq_of_mem_relint_dom: cl g agrees with g at
every relative interior point of domConcave g.
The concave counterpart of ConvexFn.clFn_eq_of_notMem_closure_dom: cl g agrees with g
off the closure of domConcave g, where both are -∞.
Swapping the two variables #
Rockafellar's closedness for saddle-functions is invariant under the swap involution: its two equations exchange places.
The effective domains of the partial closures #
Off dom₁ K the slice K (u, ·) takes the value -∞ somewhere, so its convex closure is the
constant -∞.
cl₂ can only enlarge the second effective domain, since it lowers K.
On dom₁ K the slice (cl₂ K) (u, ·) is again proper: closing a proper convex function
leaves it proper, slice by slice.
dom₁ K is the effective domain of every concave slice (cl₂ K) (·, x), not merely their
intersection.
cl₂ does not change the first effective domain.
Closing a convex function cannot push its effective domain past the closure: that of
(cl₂ K) (u, ·) lies inside the closure of that of K (u, ·).
Off dom₂ K the slice K (·, x) takes the value +∞ somewhere, so its concave closure is
the constant +∞. The mirror of partialCl₂_slice_eq_bot_of_notMem_dom₁.
cl₁ can only enlarge the first effective domain, since it raises K.
The slice of cl₂ of the swap, written back in terms of cl₁. This is the workhorse of the
transport: every cl₁ statement below is a cl₂ statement at saddleSwap K.
The mirror of proper_partialCl₂_slice: on dom₂ K the slice (cl₁ K) (·, x) is again a
proper concave function.
The mirror of domConcave_partialCl₂_slice: dom₂ K is the effective domain of every
convex slice (cl₁ K) (u, ·).
cl₁ does not change the second effective domain.
The mirror of dom_partialCl₂_slice_subset_closure.
Proper saddle-functions and their effective domain #
The effective domain of a saddle-function: the product dom₁ K × dom₂ K, on which K is
finite.
Instances For
A saddle-function is proper when its effective domain is nonempty.
Kis somewhere finite in the first variable.Kis somewhere finite in the second variable.
Instances For
The relative interior of the effective domain of a saddle-function is the product of the two
relative interiors: ri (dom K) = ri (dom₁ K) × ri (dom₂ K).
The first effective domain of a proper concave-convex K has nonempty relative interior.
The partial closures are again concave-convex, with no pairing to choose #
The partial closure cl₂ K of a concave-convex function is again concave-convex: over a
normed space the continuous dual is a compatible partner, so no pairing has to be chosen.
The mirror clause: cl₁ K of a concave-convex function is again concave-convex.
Effective domains and the relative-interior clauses #
cl₂ leaves the second effective domain of a closed proper saddle-function unchanged. (That
it leaves the first unchanged is dom₁_partialCl₂ and needs no closedness.)
cl₁ leaves the first effective domain of a closed proper saddle-function unchanged.
Where the two closures agree, K agrees with them: they sandwich it.
At a relative interior point of dom₁ K the two partial closures of a closed saddle-function
already agree.
Closedness gives cl₁ K = cl₁ (cl₂ K), which closes the concave function (cl₂ K) (·, x),
whose effective domain is exactly dom₁ K, and a concave function agrees with its closure on the
relative interior of that domain.
The mirror clause on U × ri (dom₂ K), obtained from the swap involution.
A closed saddle-function coincides with cl₂ K — hence with every member of its equivalence
class — on ri (dom₁ K) × X.
The same on U × ri (dom₂ K): there too a closed saddle-function coincides with cl₂ K.
Equivalent saddle-functions: shared domains, agreement on relative interiors #
Equivalent saddle-functions have the same first effective domain. No closedness is needed:
dom₁ K is already dom₁ (cl₂ K).
Equivalent saddle-functions have the same second effective domain.
Equivalent saddle-functions have the same effective domain.
Equivalent closed saddle-functions agree wherever the first coordinate is a relative interior
point of dom₁ K.
The mirror half: equivalent closed saddle-functions agree over ri (dom₂ K).
Lower and upper closed representatives #
A lower closed saddle-function is closed.
An upper closed saddle-function is closed.
The least member cl₂ K of the class of a closed saddle-function is lower closed.
The greatest member cl₁ K of the class of a closed saddle-function is upper closed.
The lower closed member of an equivalence class is unique.
The upper closed member of an equivalence class is unique.
The improper closed saddle-functions #
The constant +∞ is its own closure.
The constant -∞ is its own concave closure.
A closed saddle-function with empty first effective domain is the constant -∞.
A closed saddle-function with empty second effective domain is the constant +∞.
The only improper closed saddle-functions are the two constants.
The two improper closed saddle-functions are not equivalent.
The structure of a closed proper saddle-function #
The convex slice structure: the description of the convex slices K (u, ·) of a closed
proper concave-convex function, according to whether u lies in ri C, in C ∖ ri C, or
outside C = dom₁ K.
Over C the lower bound dom₂ K ⊆ dom (K (u, ·)) is unconditional (dom₂_subset_dom_slice) and
is therefore not a field, and improperness off C is recorded through the two -∞ clauses rather
than as a separate assertion.
Every slice over
dom₁ Kis a proper convex function.Over
ri (dom₁ K)the slice is moreover closed …… with effective domain exactly
dom₂ K.Over
dom₁ Kthe effective domain of the slice stays insidecl (dom₂ K).Off
dom₁ Kthe slice is-∞throughoutri (dom₂ K).Off
cl (dom₁ K)the slice is-∞throughoutdom₂ K.
Instances For
The full structural description of a closed proper saddle-function: the convex slice structure
for K, together with the same for the swapped saddle-function.
Equations
Instances For
The swapped clauses, read in concave language #
Every slice K (·, x) over dom₂ K is a proper concave function.
Over ri (dom₂ K) the slice K (·, x) is a closed concave function.
Over ri (dom₂ K) the slice K (·, x) has dom₁ K as its effective domain.
Over dom₂ K the effective domain of K (·, x) stays inside cl (dom₁ K).
Off dom₂ K the slice K (·, x) is +∞ throughout ri (dom₁ K).
Off cl (dom₂ K) the slice K (·, x) is +∞ throughout dom₁ K.
Necessity: a closed proper saddle-function is structured #
A closed proper concave-convex function has the convex slice structure.
A closed proper concave-convex function has all six structural properties.
Sufficiency: a structured saddle-function is closed #
The key step of the sufficiency half: for a structured K, the concave slices of cl₂ K and
of K have the same concave closure.
A structured saddle-function satisfies the first closedness equation, cl₁ (cl₂ K) = cl₁ K.
The six structural properties make K closed.
A proper concave-convex function is closed if and only if it has the six structural properties.
The kernel #
The rectangle ri (dom K) = ri (dom₁ K) × ri (dom₂ K) on which the kernel lives.
Equations
Instances For
The kernel of a saddle-function: the restriction of K to ri (dom K), extended by ⊤
off that rectangle.
Rockafellar's kernel is literally a partial function, which makes equations between the kernels of
two saddle-functions awkward to state. The extension loses nothing — K is finite on ri (dom K),
so kernel K is ⊤ exactly off the rectangle — and kernel K = kernel L recovers both "the same
rectangle" and "the same values there" (kernel_eq_iff).
Equations
Instances For
A saddle-function is finite on its kernel rectangle, which is what makes kernel K detect
that rectangle.
Equality of kernels unpacks into equality of the two rectangles and agreement on them.
The two factors of the kernel rectangle are determined by it, since both are nonempty for a proper concave-convex function.
The kernel rectangle of the swapped saddle-function.
Having the same kernel is invariant under the swap involution.
Equivalence is equality of kernels #
Equivalent closed proper saddle-functions have the same kernel: they share both effective domains and agree over the relative interiors.
Over ri (dom₁ K) two closed proper saddle-functions with the same kernel have literally the
same convex slice. A closed convex function is determined by its values on the relative interior
of its effective domain.
Two closed proper saddle-functions with the same kernel have the same second effective domain.
Two closed proper saddle-functions with the same kernel have the same concave closure cl₁.
Two closed proper concave-convex functions are equivalent if and only if they have the same kernel.
Idempotence of the lower and upper closures, without any duality #
The lower closure is lower closed: lowerCl is idempotent.
No duality is needed: cl₁ and cl₂ are a closure and a co-closure operator — monotone,
idempotent, one raising and one lowering — and with M = cl₁ K, N = cl₂ M the chain
cl₂ (cl₁ N) ≤ cl₂ (cl₁ M) = cl₂ M = N = cl₂ N ≤ cl₂ (cl₁ N) closes.
The upper closure is upper closed, by the swap involution.
The lower closure is convex-closed: it is a cl₂.
The upper closure is concave-closed: it is a cl₁.
The lower closure of any saddle-function is a closed saddle-function.
The upper closure of any saddle-function is a closed saddle-function.
Simple saddle-functions #
A concave-convex function is simple — Rockafellar's word — when over ri (dom₁ K) the
convex slices have their effective domains inside cl (dom₂ K), and symmetrically. Every closed
proper saddle-function is simple, and so is every simple extension of a finite saddle-function on
a product of convex sets.
- dom_slice_subset_closure (u : U) : u ∈ intrinsicInterior ℝ (dom₁ K) → (dom fun (x : X) => K (u, x)) ⊆ closure (dom₂ K)
Over
ri (dom₁ K)the convex slice does not reach beyondcl (dom₂ K). - domConcave_slice_subset_closure (x : X) : x ∈ intrinsicInterior ℝ (dom₂ K) → (domConcave fun (u : U) => K (u, x)) ⊆ closure (dom₁ K)
Over
ri (dom₂ K)the concave slice does not reach beyondcl (dom₁ K).
Instances For
Simplicity is invariant under the swap involution: the two clauses trade places.
The two slice-domain clauses say precisely that a structured saddle-function is simple.
Every closed proper concave-convex function is simple.
The partial closures preserve simplicity, properness and the kernel #
For a simple K, a convex slice taken over ri (dom₁ K) has effective domain with the same
relative interior as dom₂ K.
cl₂ does not move a simple K on the kernel rectangle.
cl₂ cannot enlarge dom₂ K beyond its closure.
cl₂ leaves the relative interior of dom₂ alone when K is simple.
cl₂ leaves the closure of dom₂ alone when K is simple.
cl₂ preserves properness.
cl₂ preserves simplicity.
cl₂ preserves the kernel.
cl₁ preserves properness.
The mirror: cl₁ preserves simplicity.
The mirror: cl₁ preserves the kernel.
The equivalence class attached to a simple saddle-function #
The lower closure of a simple proper concave-convex function is concave-convex.
The upper closure of a concave-convex function is concave-convex.
The lower closure of a simple proper saddle-function is proper.
The upper closure of a simple proper saddle-function is proper.
The lower closure of a simple saddle-function is simple.
The upper closure of a simple saddle-function is simple.
The lower closure of a simple saddle-function has the same kernel.
The upper closure of a simple saddle-function has the same kernel.
For a simple proper concave-convex K, the lower closure cl₂ cl₁ K and the upper closure
cl₁ cl₂ K are equivalent. Both are closed, and both have the same kernel as K, which for
closed proper saddle-functions already forces equivalence.
cl₁ carries the lower closure to the upper one: the two are a closure pair.
cl₂ carries the upper closure back to the lower one.
The lower closure lies below the upper one: cl₂ cl₁ K ≤ cl₁ cl₂ K.
Every saddle-function between the two closures is closed.
Every saddle-function between the two closures is proper.
Every saddle-function between the two closures is equivalent to them.
Every concave-convex saddle-function between the two closures has the same kernel as K.
Conversely, a closed proper concave-convex function with the same kernel as K lies between
the two closures.
The kernel of a simple proper concave-convex function is the kernel of exactly one equivalence
class of closed proper concave-convex functions, represented by the lower closure cl₂ cl₁ K.
The simple extensions of a finite saddle-function on C × D #
The concave effective domain of a finite function extended by ⊥ is the set it was given
on.
Constant functions are concave; the mirror of convexFn_const.
Restricting a concave function to a convex set — extending by ⊥ off it — gives a concave
function; the mirror of ConvexFn.restrict.
Rockafellar's lower simple extension K₁ of a finite saddle-function K on C × D:
K on C × D, +∞ on C × Dᶜ, and -∞ off C.
Equations
- Tdaf.ConvexAnalysis.lowerSimpleExt C D K p = Tdaf.ConvexAnalysis.restrictConcave C (fun (u : U) => Tdaf.ConvexAnalysis.restrict D (fun (x : X) => ↑(K (u, x))) p.2) p.1
Instances For
The lower simple extension of a finite concave-convex function on C × D is concave-convex on
all of U × X.
The lower simple extension of a finite saddle-function on a nonempty C × D is proper.
The lower simple extension of a finite saddle-function is simple. Its slices have effective
domains exactly D and C, so they do not even reach the boundary.
The kernel of the lower simple extension is the restriction of K to ri (C × D).
A finite concave-convex function K on a nonempty product C × D of convex sets is the
kernel of exactly one equivalence class of closed proper concave-convex functions on U × X. The
class is the one attached to the lower simple extension of K.
Closedness of a finite continuous function on a closed set #
The epigraph of a finite continuous function on a closed set, extended by ⊤, is closed.
A finite continuous function on a closed set, extended by ⊤, is a closed function.
The concave mirror: a finite continuous function on a closed set, extended by -∞, is a closed
concave function.
The upper simple extension #
Rockafellar's upper simple extension K₂ of a finite saddle-function K on C × D:
K on C × D, -∞ on Cᶜ × D, and +∞ off D.
Equations
- Tdaf.ConvexAnalysis.upperSimpleExt C D K p = Tdaf.ConvexAnalysis.restrict D (fun (x : X) => Tdaf.ConvexAnalysis.restrictConcave C (fun (u : U) => ↑(K (u, x))) p.1) p.2
Instances For
The real-valued companion of saddleSwap: negate and exchange the two arguments. Note that
swapReal (swapReal K) = K is not rfl, because the negation is on ℝ values.
Instances For
The upper simple extension is the lower one, swapped.
This identity is the whole of the upper theory: exchanging the two arguments turns C into D,
the concave restriction into the convex one and -∞ into +∞, which is what saddleSwap does on
the value side and swapReal on the real side. Every upper lemma below is a rewrite along it.
The interval between the two simple extensions is exactly the set of extensions of K with
Rockafellar's prescribed infinite values off C × D — the class Ω. The values on Cᶜ × Dᶜ are
unconstrained.
The upper simple extension of a finite concave-convex function on C × D is concave-convex on
all of U × X.
Transported from concaveConvexFn_lowerSimpleExt: the swap exchanges the convexity and concavity
hypotheses and negates each, which is exactly ConvexOn.neg and ConcaveOn.neg.
The class Ω is a full equivalence class #
The convex slices of the two simple extensions of a finite continuous saddle-function on a
closed C × D are closed, so cl₂ fixes the lower simple extension.
cl₁ carries the lower simple extension to the upper one.
cl₂ carries the upper simple extension back to the lower one.
The mirror of partialCl₁_lowerSimpleExt, transported rather than re-proved:
partialCl₂_saddleSwap exchanges the two closures, upperSimpleExt_eq_saddleSwap exchanges the
two extensions, and the continuity hypothesis passes through as ContinuousOn.neg.
Every member of Ω is a closed saddle-function.
Ω is contained in a single equivalence class.
Ω is exactly the equivalence class of the lower simple extension, so the extensions of K
with the prescribed infinite values form one full equivalence class of closed saddle-functions.
Proved from closedness of the slices of the two simple extensions rather than from the bifunction
representation, so the hypotheses are separate continuity in each variable rather than joint
continuity.
Every member of Ω is proper.
The two brackets of a bifunction on a relative interior #
The two brackets of a convex bifunction differ by a concave closure in the first variable. A
concave function agrees with its closure on the relative interior of its effective domain, and the
effective domain of u ↦ ⟨Fu, y⟩ is dom F on the nose — so on ri (dom F) the two brackets are
simply equal.
The concave effective domain of u ↦ ⟨Fu, y⟩ is dom F, for every y. The bracket is
-∞ exactly where the slice F u is identically +∞.
At a relative interior point of dom F the two brackets already agree —
⟨Fu, y⟩ = ⟨u, F* y⟩, with no closure in sight.
The two brackets of a polyhedral bifunction #
The previous section puts the two brackets together on the relative interior of an effective
domain, because that is where a convex or concave function must agree with its closure. A
polyhedral function agrees with its closure on all of its effective domain, so for a polyhedral
bifunction the equality extends to the domain itself, leaving uncovered only the pairs with
u ∉ dom F and y ∉ dom F*, where the two brackets are -∞ and +∞. The u-side half needs
no properness; the y-side half does, because it runs through F** = cl F = F.
Off dom F the bracket is -∞: there F u is identically +∞, and the conjugate of +∞ is
-∞.
Off dom G the concave bracket is +∞, the mirror of bracket_eq_bot_of_notMem_domBifun.
The u-side half: for a polyhedral convex bifunction the two brackets agree at every u
of dom F, not merely at the relative-interior points that
bracket_eq_concaveBracket_adjointBifun_of_mem_relint asks for.
The two differ by the concave closure in u; ⟨F·, y⟩ is polyhedral concave with effective
domain dom F, and a polyhedral function agrees with its closure on all of its effective domain.
Properness of F plays no part here.
The y-side half: for a proper polyhedral convex bifunction the two brackets agree at
every y of dom F*, for every u.
This is the first half read on the dual side: the brackets differ by the convex closure in y
once cl F = F, which properness plus polyhedrality supply; ⟨u, F*·⟩ is polyhedral convex with
effective domain dom F*, so the closure changes nothing there.
For a proper polyhedral convex bifunction the two brackets agree, ⟨Fu, y⟩ = ⟨u, F* y⟩, at
every pair (u, y) except those with u ∉ dom F and y ∉ dom F*.
The exceptional pairs: when u ∉ dom F and y ∉ dom F* one bracket is -∞ and the other
+∞. Neither polyhedrality nor properness is used.
The bifunction behind a finite continuous saddle-function #
The two simple extensions of a finite continuous saddle-function on a closed C × D are a closure
pair, which is exactly what the representation by a closed convex bifunction asks for. Both
closure computations are already done — they are what the class Ω runs on — so the result is
their composition.
The lower simple extension is lower closed.
The upper simple extension is upper closed.
A finite continuous concave-convex function on a nonempty closed C × D has a unique closed
convex bifunction F whose two brackets are its lower and upper simple extensions. The explicit
formulas for F and F* are the definitions of the conjugate and the concave conjugate of the
slices.