Prove2Me
Navigate
DiscoverCollectionsFormalpediaGalaxyBlogsUsersMomentumMy Missions+
Prove2Me
Log in
← Formalpedia

Black–Scholes formula solves the Black–Scholes equation

Proved
BlackScholesModel.callPrice_solves_black_scholes_equation

by Lucas · Oct 9, 2026 · Mathlib 0df444a (Lean v4.33.1)

black-scholesmathematical-financeoption-pricing

Let K>0K>0K>0 be the strike, TTT the expiry, r∈Rr\in\mathbb Rr∈R the risk-free rate and σ>0\sigma>0σ>0 the volatility, and let C(S,t)=N(d+)S−N(d−)Ke−r(T−t)C(S,t)=N(d_+)S-N(d_-)Ke^{-r(T-t)}C(S,t)=N(d+​)S−N(d−​)Ke−r(T−t) be the Black–Scholes call price. Then on the open domain {(S,t):S>0, t<T}\{(S,t):S>0,\ t<T\}{(S,t):S>0, t<T}:

  1. CCC is infinitely differentiable in (S,t)(S,t)(S,t);
  2. CCC satisfies the Black–Scholes equation
∂C∂t+12σ2S2∂2C∂S2+rS∂C∂S−rC=0;\frac{\partial C}{\partial t}+\frac12\sigma^2S^2\frac{\partial^2C}{\partial S^2}+rS\frac{\partial C}{\partial S}-rC=0;∂t∂C​+21​σ2S2∂S2∂2C​+rS∂S∂C​−rC=0;
  1. for each t<Tt<Tt<T, C(S,t)→0C(S,t)\to0C(S,t)→0 as S→0+S\to0^+S→0+;
  2. for each t<Tt<Tt<T, C(S,t)−(S−Ke−r(T−t))→0C(S,t)-\big(S-Ke^{-r(T-t)}\big)\to0C(S,t)−(S−Ke−r(T−t))→0 as S→∞S\to\inftyS→∞;
  3. for each S>0S>0S>0, C(S,t)→max⁡{S−K,0}C(S,t)\to\max\{S-K,0\}C(S,t)→max{S−K,0} as t→T−t\to T^-t→T−.

This is the statement that the Black–Scholes formula is the solution of the Black–Scholes equation with the call's terminal and boundary conditions.

Formalization Note The source writes the conditions as C(0,t)=0C(0,t)=0C(0,t)=0, C(S,t)∼S−Ke−r(T−t)C(S,t)\sim S-Ke^{-r(T-t)}C(S,t)∼S−Ke−r(T−t) as S→∞S\to\inftyS→∞ and C(S,T)=max⁡{S−K,0}C(S,T)=\max\{S-K,0\}C(S,T)=max{S−K,0}. Since the formula is undefined at S=0S=0S=0 and t=Tt=Tt=T, these are stated as one-sided limits; the condition at infinity is stated in the (stronger) form that the difference tends to 000. The PDE uses deriv, made meaningful by the smoothness clause 1.

Preamble
import Mathlib
import Definitions.Def_BlackScholesModel_Core

open Real MeasureTheory ProbabilityTheory Filter Topology
open scoped ContDiff
Formal statement
namespace BlackScholesModel

theorem callPrice_solves_black_scholes_equation (K r σ T : ℝ) (hK : 0 < K) (hσ : 0 < σ) :
    ContDiffOn ℝ ∞ (fun p : ℝ × ℝ => callPrice K r σ T p.1 p.2)
        {p : ℝ × ℝ | 0 < p.1 ∧ p.2 < T} ∧
    (∀ S t : ℝ, 0 < S → t < T →
      deriv (fun t' => callPrice K r σ T S t') t
        + 1 / 2 * σ ^ 2 * S ^ 2
            * deriv (fun S' => deriv (fun S'' => callPrice K r σ T S'' t) S') S
        + r * S * deriv (fun S' => callPrice K r σ T S' t) S
        - r * callPrice K r σ T S t = 0) ∧
    (∀ t : ℝ, t < T → Tendsto (fun S => callPrice K r σ T S t) (𝓝[>] 0) (𝓝 0)) ∧
    (∀ t : ℝ, t < T →
      Tendsto (fun S => callPrice K r σ T S t - (S - K * Real.exp (-r * (T - t)))) atTop (𝓝 0)) ∧
    (∀ S : ℝ, 0 < S →
      Tendsto (fun t => callPrice K r σ T S t) (𝓝[<] T) (𝓝 (max (S - K) 0))) := by sorry

end BlackScholesModel
Source
Wikipedia, "Black–Scholes model" (snapshot supplied as Black–Scholes_model.pdf, 22 pp.), https://en.wikipedia.org/wiki/Black%E2%80%93Scholes_model; p. 3 (Black–Scholes equation; Black–Scholes formula with terminal and boundary conditions), p. 4 (call formula)
Read-back

What the Lean code literally says, in plain math · Aristotle (Harmonic)

Non-blind read-back. This read-back was written by the same agent that drafted the Lean statement (at the explicit instruction of the proposal owner), not by an independent blind auditor. It is not independent testimony; reviewers should compare it against the Lean code themselves.

Let K,r,σ,TK,r,\sigma,TK,r,σ,T be real numbers with K>0K>0K>0 and σ>0\sigma>0σ>0 (rrr and TTT unrestricted). Let C(S,t)=N(d+)S−N(d−)Ke−r(T−t)C(S,t)=N(d_+)S-N(d_-)Ke^{-r(T-t)}C(S,t)=N(d+​)S−N(d−​)Ke−r(T−t) be the call-price function of the definition file, with d±=d±(S,K,r,σ,T−t)d_\pm=d_\pm(S,K,r,\sigma,T-t)d±​=d±​(S,K,r,σ,T−t), d+=ln⁡(S/K)+(r+σ2/2)(T−t)σT−td_+=\frac{\ln(S/K)+(r+\sigma^2/2)(T-t)}{\sigma\sqrt{T-t}}d+​=σT−t​ln(S/K)+(r+σ2/2)(T−t)​, d−=d+−σT−td_-=d_+-\sigma\sqrt{T-t}d−​=d+​−σT−t​, and NNN the standard normal distribution function defined by its integral. The theorem asserts the conjunction of five statements.

  1. The map (S,t)↦C(S,t)(S,t)\mapsto C(S,t)(S,t)↦C(S,t) from R2\mathbb R^2R2 to R\mathbb RR is C∞C^\inftyC∞ (continuously differentiable of every finite order) on the open set U={(S,t):S>0, t<T}U=\{(S,t): S>0,\ t<T\}U={(S,t):S>0, t<T}.

  2. For every S>0S>0S>0 and every t<Tt<Tt<T,

∂tC(S,t)+12σ2S2 ∂S(∂SC)(S,t)+rS ∂SC(S,t)−r C(S,t)=0,\partial_t C(S,t)+\tfrac12\sigma^2S^2\,\partial_S\big(\partial_S C\big)(S,t)+rS\,\partial_S C(S,t)-r\,C(S,t)=0,∂t​C(S,t)+21​σ2S2∂S​(∂S​C)(S,t)+rS∂S​C(S,t)−rC(S,t)=0,

where ∂tC(S,t)\partial_t C(S,t)∂t​C(S,t) is the derivative at ttt of t′↦C(S,t′)t'\mapsto C(S,t')t′↦C(S,t′), ∂SC(S,t)\partial_S C(S,t)∂S​C(S,t) the derivative at SSS of S′↦C(S′,t)S'\mapsto C(S',t)S′↦C(S′,t), and the second term uses the derivative at SSS of the function S′↦(derivative at S′ of S′′↦C(S′′,t))S'\mapsto(\text{derivative at }S'\text{ of }S''\mapsto C(S'',t))S′↦(derivative at S′ of S′′↦C(S′′,t)). These derivatives are the formal system's "derivative-or-zero" operator: each is the true derivative where one exists and 000 otherwise.

  1. For every t<Tt<Tt<T: C(S,t)→0C(S,t)\to0C(S,t)→0 as S→0S\to0S→0 from the right (S>0S>0S>0).

  2. For every t<Tt<Tt<T: C(S,t)−(S−Ke−r(T−t))→0C(S,t)-\big(S-Ke^{-r(T-t)}\big)\to0C(S,t)−(S−Ke−r(T−t))→0 as S→+∞S\to+\inftyS→+∞.

  3. For every S>0S>0S>0: C(S,t)→max⁡{S−K,0}C(S,t)\to\max\{S-K,0\}C(S,t)→max{S−K,0} as t→Tt\to Tt→T from the left (t<Tt<Tt<T).

No statement is made at S≤0S\le0S≤0 or t≥Tt\ge Tt≥T; the value C(0,t)C(0,t)C(0,t) itself and C(S,T)C(S,T)C(S,T) are not mentioned.

Human review
  • Endorsed by Shuze Chen · Oct 10, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 10, 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 paperProve2Me Team
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me