Picard–Lindelöf Theorem

lean4-proofdifferential-equationsvisualization
y=f(t,y),  y(t0)=y0    !solution on [t0ε,t0+ε]y' = f(t,y),\; y(t_0)=y_0 \implies \exists!\,\text{solution on }[t_0-\varepsilon, t_0+\varepsilon]

Statement

Consider the initial value problem

y(t)=f(t,y(t)),y(t0)=y0y'(t) = f(t, y(t)), \qquad y(t_0) = y_0

where f:R×EEf : \mathbb{R} \times E \to E is continuous in tt and Lipschitz in yy: there exists K0K \geq 0 such that

f(t,u)f(t,v)Kuv\|f(t, u) - f(t, v)\| \leq K\|u - v\|

for all tt in some interval around t0t_0 and all u,vu, v near y0y_0.

Theorem (Picard–Lindelöf): Under these hypotheses there exists ε>0\varepsilon > 0 and a unique continuously differentiable function y:[t0ε,t0+ε]Ey : [t_0 - \varepsilon, t_0 + \varepsilon] \to E satisfying the IVP.

The proof constructs yy as the fixed point of the Picard operator

T[α](t)=y0+t0tf(s,α(s))dsT[\alpha](t) = y_0 + \int_{t_0}^{t} f(s, \alpha(s))\,ds

showing that a sufficiently high iterate TnT^n is a contraction on an appropriate function space.

Visualization

Picard iteration for y=yy' = y, y(0)=1y(0) = 1 (exact solution ete^t):

Start from the constant guess y0(t)=1y_0(t) = 1 and apply T[α](t)=1+0tα(s)dsT[\alpha](t) = 1 + \int_0^t \alpha(s)\,ds repeatedly.

IterateFormulaValue at t=1t = 1
y0(t)=1y_0(t) = 1constant1.0001.000
y1(t)=1+ty_1(t) = 1 + tT[y0]T[y_0]2.0002.000
y2(t)=1+t+t2/2y_2(t) = 1 + t + t^2/2T[y1]T[y_1]2.5002.500
y3(t)=1+t+t2/2+t3/6y_3(t) = 1 + t + t^2/2 + t^3/6T[y2]T[y_2]2.6672.667
y4(t)=k=04tk/k!y_4(t) = \sum_{k=0}^4 t^k/k!T[y3]T[y_3]2.7082.708
exact ete^t2.7182.718\ldots

Each iterate is the partial Taylor sum of ete^t; the Picard contraction forces convergence.

Proof Sketch

  1. Integral reformulation. yy solves the IVP iff y=T[y]y = T[y], i.e. yy is a fixed point of TT.
  2. Function space. Work on C([t0ε,t0+ε],B(y0,r))C([t_0-\varepsilon, t_0+\varepsilon], \overline{B}(y_0, r)) with the sup-norm; this is a complete metric space.
  3. Contraction estimate. For small enough ε\varepsilon, T[α]T[β]Kεαβ\|T[\alpha] - T[\beta]\|_\infty \leq K\varepsilon\|\alpha - \beta\|_\infty. Choose ε<1/K\varepsilon < 1/K to make Kε<1K\varepsilon < 1.
  4. Banach fixed-point theorem. A contraction on a complete metric space has a unique fixed point, which the Picard iterates converge to.
  5. Uniqueness. Two fixed points satisfy αβKεαβ\|\alpha - \beta\|_\infty \leq K\varepsilon\|\alpha - \beta\|_\infty; since Kε<1K\varepsilon < 1, both must coincide.

Connections

The Lipschitz condition is the same regularity assumed in the Mean Value TheoremMean Value Theoremc(a,b)  :  f(c)=f(b)f(a)ba\exists\, c \in (a,b)\;:\; f'(c) = \frac{f(b)-f(a)}{b-a}There exists a point where the instantaneous rate of change equals the average rate of changeRead more → proof; the Banach fixed-point step is the analytic analogue of the contracting-map argument behind Brouwer Fixed-Point TheoremBrouwer Fixed-Point Theoremf:DnDn continuous    x,  f(x)=xf : D^n \to D^n \text{ continuous} \implies \exists\, x,\; f(x) = xEvery continuous map from a compact convex set to itself has a fixed pointRead more →.

Lean4 Proof

import Mathlib.Analysis.ODE.PicardLindelof

/-!
  PicardLindelöf in Mathlib lives in `IsPicardLindelof`.
  We verify the Picard iterates for y' = y, y(0) = 1 — each iterate
  is the n-th partial Taylor sum for exp.
-/

/-- The n-th Picard iterate for y' = y starting from y_0(t) = 1. -/
noncomputable def picardExp (n : ) (t : ) :  :=
  ∑ k  Finset.range (n + 1), t ^ k / k.factorial

theorem picardExp_zero (t : ) : picardExp 0 t = 1 := by
  simp [picardExp]

/-- picardExp 1 t = 1 + t (first Picard iterate). -/
theorem picardExp_one (t : ) : picardExp 1 t = 1 + t := by
  simp [picardExp, Finset.sum_range_succ]

/-- The Picard iterates converge to exp t: picardExp n agrees with the n-th
    partial sum of the Taylor series for exp. -/
theorem picardExp_eq_partialSum (n : ) (t : ) :
    picardExp n t = ∑ k  Finset.range (n + 1), t ^ k / k.factorial := rfl