The two inner products of a convex process #
A convex process A carries two inner products,
⟨Au, x*⟩ = sup {⟨x, x*⟩ | x ∈ A u} and ⟨u, A* x*⟩ = inf {⟨u, u*⟩ | u* ∈ A* x*},
the first a maximisation over a value of A, the second a minimisation over a value of A*. They
are the bracket and the concave bracket of the indicator bifunction of A and of its adjoint, so
everything that separates them is a partial closure. Bifunction/Process.lean proves the clauses
needing only the closure in u; this module adds those needing the closure in x* — where
closedness of A enters — and those needing relative interiors.
Main results #
ConvexProcess.closedBifun_indicatorBifun_iff—Ais a closed convex process exactly when its indicator bifunction is closed.domConcaveBifun_adjointBifun_indicatorBifun:dom F* = dom A*.ConvexProcess.partialCl₂_concaveBracket_adjointBifun_indicatorBifun—⟨Au, x*⟩ = cl_{x*} ⟨u, A* x*⟩for a closed convex process.ConvexProcess.bracket_eq_concaveBracket_of_mem_relint_domand…_of_mem_relint_dom_adjoint—⟨Au, x*⟩ = ⟨u, A* x*⟩wheneveru ∈ ri (dom A)orx* ∈ ri (dom A*)(Theorem 39.3 in [^1]);bracket_eq_concaveBracket_adjointBifun_of_mem_relint_domConcaveBifunis the dual half of that, for a general closed convex bifunction.exists_unique_convexProcess_bracket_indicatorBifun_eq— a lower closed concave-convexKwithK (0, 0) = 0that is positively homogeneous in each variable separately is⟨Au, x*⟩for exactly one closed convex processA(Theorem 39.4 in [^1]).ConvexProcess.isClosed_evaland the…_bracket_indicatorBifunresults beside it are the four properties it inverts.ConvexProcess.closedFn_imageBifun_indicatorBifunand the results beside it — for a closed convex processAand a closed proper convexf, the imageAfis closed, the infimum defining(Af)(x)is attained, and(Af)* = cl (A*⁻¹ f*). The open half is inBifunction/Process.lean.
Implementation notes #
Rockafellar prefixes both halves of the last assertion with "if A is closed", but the u half
needs only that a concave function agrees with its concave closure on the relative interior of its
effective domain. Closedness is genuinely needed only on the x* side, where the closure in x* —
which rests on F** = cl F — identifies cl_{x*} ⟨u, A* x*⟩ with ⟨Au, x*⟩; there it is Y, not
U, that must be finite-dimensional.
A process is closed exactly when its indicator bifunction is, since cl δ(· | S) = δ(· | cl S).
That is what lets the bifunction theorems be read for processes without a separate closedness
argument. The correspondence is stated as a ∃! with closedness inside it: it is between closed
convex processes and kernels, so uniqueness is uniqueness among closed processes.
References #
[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §39.
Closedness, and the effective domain of the adjoint #
A convex process is closed exactly when its indicator bifunction is a closed convex bifunction:
ClosedBifun for an indicator bifunction is closure (graph A) = graph A.
Every value of a closed convex process is a closed set: A u is the preimage of the graph
under the continuous map x ↦ (u, x).
The concave effective domain of the adjoint of an indicator bifunction is the effective domain
of the adjoint process: ⟨u, A* x*⟩ is +∞ exactly where A* x* is empty.
The two inner products for a closed convex process #
For a closed convex process, ⟨Au, x*⟩ = cl_{x*} ⟨u, A* x*⟩.
This is the closure in x*, which is where closedness enters: it runs through F** = cl F = F,
whereas the closure in u, ⟨u, A* x*⟩ = cl_u ⟨Au, x*⟩
(concaveBracket_adjointBifun_indicatorBifun_eq_partialCl₁), holds for every convex process.
Where the two brackets of a bifunction agree, on the dual side #
For a closed convex bifunction the two brackets ⟨Fu, y⟩ and ⟨u, F* y⟩ already agree at
every relative interior point of dom F*.
The two differ by the convex closure in y; ⟨u, F*·⟩ is convex with effective domain dom F*,
and a convex function agrees with its closure on the relative interior of its effective domain. It
is Y, not U, that must be finite-dimensional.
Where the two inner products agree #
⟨Au, x*⟩ = ⟨u, A* x*⟩ at every relative interior point of dom A.
Rockafellar prefixes the assertion with "if A is closed"; no closedness is needed here, the
statement being bracket_eq_concaveBracket_adjointBifun_of_mem_relint for the indicator
bifunction.
For a closed convex process, ⟨Au, x*⟩ = ⟨u, A* x*⟩ at every relative interior point of
dom A*, and for every u.
Unlike the u side, this one really does need A closed: it goes through the closure in x*.
Which saddle-functions are inner products of processes #
The lower closed concave-convex functions on U × Y match the closed convex bifunctions from U
to X. Cutting that down to processes costs exactly two further conditions on K: it vanishes
at the origin, and it is positively homogeneous in each variable separately.
The inner product of a convex process is concave-convex.
The inner product of a closed convex process is lower closed. This is the saddle-function correspondence read at the indicator bifunction.
A closed convex process is recovered from its inner product by
A u = {x | ⟨x, x*⟩ ≤ K (u, x*) for every x*}.
This is the recovery of a closed convex set from its support function, at A u, whose support
function is ⟨Au, ·⟩ (bracket_indicatorBifun).
K (u, x*) = ⟨Au, x*⟩ is a one-to-one correspondence between the closed convex processes
from U to X and the lower closed concave-convex functions on U × Y that vanish at the origin
and are positively homogeneous in each variable separately. The inverse map is
A u = {x | ⟨x, x*⟩ ≤ K (u, x*) for every x*}
(ConvexProcess.eval_eq_supportSet_bracket_indicatorBifun).
The saddle-function correspondence does all the work on the bifunction side; what remains is that
the closed convex bifunction it produces is an indicator bifunction. K (0, 0) = 0 bounds F 0
below by 0 and makes it finite somewhere, so the closed convex graphFn F cannot take -∞, and
no slice K (u, ·) is identically +∞. The conjugate of a positively homogeneous function that is
not identically +∞ is an indicator function, so each F u is one; positive homogeneity in u
makes the resulting set a cone, its convexity coming from convexity of F.
The image under a closed convex process #
For a closed convex process A and a closed proper convex f, the image Af is closed.
This is closedFn_imageBifun at the indicator bifunction of A, the closedness hypothesis passing
through closedBifun_indicatorBifun_iff and the "finite somewhere" side condition being
0 ∈ A 0. Rockafellar's hypothesis ri (dom f*) ∩ ri (dom A*⁻¹) ≠ ∅ is the IsExactSum there,
one instance per x; dom A*⁻¹ is range A*.
The infimum defining (Af)(x) is attained, in the raw form
∃ u, f u + δ(x | A u) = (Af)(x).
Wherever Af is finite, the infimum inf {f u | x ∈ A u} is attained at an actual u
with x ∈ A u.
The raw form exists_imageBifun_indicatorBifun_eq produces a u with
f u + δ(x | A u) = (Af)(x); the indicator is 0 or ⊤, and ⊤ is excluded because f u ≠ ⊥
would then force (Af)(x) = ⊤.
(Af)* = cl (A*⁻¹ f*), for a closed convex process and a closed proper convex f.