Proposition 5: an inverse S-shaped derivative with finite limits gives two-point support
ProvedRobustMeanCov.TwoPoint.two_point_support_of_inverse_S_shaped_derivLet be differentiable, and suppose its derivative is inverse S-shaped — decreasing, concave on and convex on for some — with finite limits
Then satisfies the two-point support property: for every and there are and a quadratic with , , and a law with mean , variance and support .
Consequently, for such , the worst-case expected utility over all laws with mean and variance reduces to a one-dimensional minimization over two-point laws (Proposition 4 of the paper). Examples include the log-logistic function and the catenary plus a concave quadratic.
Formalization Note "Decreasing" is strict (StrictAnti after unfolding IsInverseSShaped), the paper's reading of "increasing" in Definition 2. No continuity of is assumed beyond what the hypotheses imply.
import Mathlib import Definitions.Def_RobustMeanCov_TwoPoint_SShaped import Definitions.Def_RobustMeanCov_TwoPoint_TwoPointSupport open Filter Topology
namespace RobustMeanCov.TwoPoint
/-- Proposition 5 (Popescu 2007, p. 102): if `u` is differentiable and `u'` is inverse S-shaped
with finite limits at `±∞`, then `u` satisfies the two-point support property. -/
theorem two_point_support_of_inverse_S_shaped_deriv (u : ℝ → ℝ) (hu : Differentiable ℝ u)
(hinv : IsInverseSShaped (deriv u))
(hbot : ∃ l : ℝ, Tendsto (deriv u) atBot (𝓝 l))
(htop : ∃ l : ℝ, Tendsto (deriv u) atTop (𝓝 l)) :
TwoPointSupport u := by sorry
end RobustMeanCov.TwoPoint
Read-back
What the Lean code literally says, in plain math · claude-opus-5-5
Let be any real function. The statement makes three assumptions about :
- (H1) Differentiability. is differentiable at every point of . Write for its derivative. Under (H1), is the true derivative at every , so the default value that Lean assigns at points of non-differentiability never occurs.
- (H2) Inverse S-shape. The derivative satisfies the predicate
IsInverseSShaped. This predicate is defined in the imported bundle fileDef_RobustMeanCov_TwoPoint_SShaped. Its definition is not part of the code given to this read-back, so its content cannot be expanded here. The theorem asserts exactly what that definition says, whatever it is. It carries no meaning beyond its name, and a reader must check the definition itself. - (H3) Finite limits at both ends. There exist real numbers and with
Both limits are finite real numbers, not . The statement does not require and to be equal or different, and it does not fix their signs.
Conclusion. Under (H1)–(H3), satisfies the predicate TwoPointSupport. That predicate is defined in the imported file Def_RobustMeanCov_TwoPoint_TwoPointSupport. Its definition is also not included in the code given here, so the conclusion is exactly " has the property named TwoPointSupport", whatever that definition asserts. In particular, this read-back cannot say what optimization problem, which distributions, or which moment constraints the property involves.
What the statement does not assume. It does not require that:
- is continuous;
- is monotone, concave or convex;
- is bounded;
- has any integrability property.
Any such condition applies only if it is built into one of the two named predicates.
Degenerate cases. The only variable is the function on , so there are no empty or one-element types, no counts or horizons that could be zero, and no division or subtraction in in the statement itself. Because of (H1), the derivative never takes Lean's default value. The limits in (H3) are finite by construction, so no infinite or undefined limit arises.
Whether the statement could hold vacuously depends entirely on IsInverseSShaped, which cannot be seen here. If no derivative of an everywhere-differentiable function with finite limits at can satisfy that predicate, the hypotheses can never be met and the theorem says nothing. One example: a predicate that demands behaviour a bounded-at-the-ends derivative cannot have.
At the other extreme, if the predicate is satisfied by constant functions, then with satisfies (H1) and (H3) with . The theorem would then claim that every affine has TwoPointSupport.
Both points must be settled by reading the two definition files.
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.