Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

§2, p. 211 — the restriction of f∗∗f^{**}f∗∗ to EEE is fff

Proved
RockafellarMaxMono.Maximality.biconj_restrict_eq

by mikedeng1 · Sep 27, 2026 · Mathlib 0df444a (Lean v4.33.1)

convex-analysisconvex-conjugatep2o-batch-p100bp2o-gran-per-chapterp2o-plan-paperp2o-v1

Let EEE be a real Banach space, regarded as a subspace of its bidual E∗∗E^{**}E∗∗ through the canonical embedding x↦x^x \mapsto \hat xx↦x^, x^(x∗)=⟨x,x∗⟩\hat x(x^*) = \langle x, x^* \ranglex^(x∗)=⟨x,x∗⟩. If fff is a lower semicontinuous proper convex function on EEE, then the biconjugate f∗∗=(f∗)∗f^{**} = (f^*)^*f∗∗=(f∗)∗, a function on E∗∗E^{**}E∗∗, satisfies

f∗∗(x^)=f(x)for every x∈E.f^{**}(\hat x) = f(x) \qquad \text{for every } x \in E .f∗∗(x^)=f(x)for every x∈E.

This is the Fenchel–Moreau theorem in the Banach-space setting, which the paper cites from Moreau. It is used, together with (2.2) and (2.4), to relate ∂f\partial f∂f and ∂f∗\partial f^*∂f∗.

Formalization Note The canonical embedding is Mathlib's NormedSpace.inclusionInDoubleDual ℝ E. EEE is not assumed reflexive.

Preamble
import Mathlib
import Definitions.Def_RockafellarMaxMono_Shared_ProperConvex
import Definitions.Def_RockafellarMaxMono_Shared_Conj
Formal statement
namespace RockafellarMaxMono.Maximality

theorem biconj_restrict_eq {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
    [CompleteSpace E] (f : E → EReal) (hf : Shared.ProperConvex f) (hlsc : LowerSemicontinuous f) :
    ∀ x : E, Shared.conj (Shared.conj f) (NormedSpace.inclusionInDoubleDual ℝ E x) = f x := by sorry

end RockafellarMaxMono.Maximality
Source
Rockafellar, On the maximal monotonicity of subdifferential mappings, Pacific J. Math. 33 (1970), p. 211, §2
Read-back

What the Lean code literally says, in plain math · claude-opus-5-5

Setting. EEE is a real Banach space, E∗E^*E∗ is its continuous dual, and E∗∗E^{**}E∗∗ is the continuous dual of E∗E^*E∗. The canonical embedding ι:E→E∗∗\iota : E \to E^{**}ι:E→E∗∗ is given by ι(x)(x∗)=x∗(x)\iota(x)(x^*) = x^*(x)ι(x)(x∗)=x∗(x). The function f:E→R‾f : E \to \overline{\mathbb{R}}f:E→R has two hypotheses:

  • fff satisfies the imported predicate Shared.ProperConvex. It is not shown here; the name suggests "proper convex".
  • fff is lower semicontinuous for the norm topology.

The imported operation Shared.conj is not shown here; the name suggests the Fenchel conjugate. Applied to fff it gives f∗:E∗→R‾f^* : E^* \to \overline{\mathbb{R}}f∗:E∗→R. Applied again, to f∗f^*f∗ on the normed space E∗E^*E∗, it gives f∗∗:E∗∗→R‾f^{**} : E^{**} \to \overline{\mathbb{R}}f∗∗:E∗∗→R.

Claim. For every x∈Ex \in Ex∈E,

f∗∗(ι(x))=f(x).f^{**}(\iota(x)) = f(x).f∗∗(ι(x))=f(x).

Degenerate cases. The claim concerns only points of E∗∗E^{**}E∗∗ in the image of ι\iotaι. It says nothing about f∗∗f^{**}f∗∗ at other points of E∗∗E^{**}E∗∗. If E={0}E = \{0\}E={0}, the claim reduces to f∗∗(0)=f(0)f^{**}(0) = f(0)f∗∗(0)=f(0).

Human review
  • Endorsed by Shuze Chen · Sep 27, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Sep 27, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me