Banach Fixed Point Theorem

lean4-prooffunctional-analysisvisualization
T:XX contraction!x=T(x)T : X \to X\text{ contraction} \Rightarrow \exists!\, x^* = T(x^*)

Statement

Let (X,d)(X, d) be a complete metric space and T:XXT : X \to X a contraction mapping: there exists K[0,1)K \in [0, 1) such that

d(Tx,Ty)Kd(x,y)for all x,yX.d(Tx, Ty) \le K \cdot d(x, y) \quad \text{for all } x, y \in X.

Then TT has a unique fixed point xXx^* \in X with T(x)=xT(x^*) = x^*. Moreover, for any starting point x0Xx_0 \in X, the iterates Tn(x0)T^n(x_0) converge to xx^* with error bound

d(Tn(x0),x)Kn1Kd(x0,T(x0)).d(T^n(x_0),\, x^*) \le \frac{K^n}{1 - K}\, d(x_0, T(x_0)).

Visualization

Take T(x)=x/2+1T(x) = x/2 + 1 on R\mathbb{R} with K=1/2K = 1/2. Fixed point: x=x/2+1x=2x^* = x^*/2 + 1 \Rightarrow x^* = 2.

| nn | Tn(x0)T^n(x_0) with x0=0x_0 = 0 | Tn(x0)2|T^n(x_0) - 2| | bound Knd(x0,Tx0)/(1K)K^n d(x_0,Tx_0)/(1-K) | |---|---|---|---| | 0 | 0.0000.000 | 2.0002.000 | 2.0002.000 | | 1 | 1.0001.000 | 1.0001.000 | 1.0001.000 | | 2 | 1.5001.500 | 0.5000.500 | 0.5000.500 | | 3 | 1.7501.750 | 0.2500.250 | 0.2500.250 | | 4 | 1.8751.875 | 0.1250.125 | 0.1250.125 | | 5 | 1.9381.938 | 0.0630.063 | 0.0630.063 | | 10 | 1.9991.999 | 0.0010.001 | 0.0010.001 |

x-axis: 0     1     1.5   1.75  ...  2
          ──▶───▶────▶──────▶──────▶ x* = 2

Each arrow is one application of T(x) = x/2 + 1.
Distance to x* halves each step (K = 1/2).

Proof Sketch

  1. Cauchy sequence. Show {Tn(x0)}\{T^n(x_0)\} is Cauchy: d(Tmx0,Tnx0)Kmin(m,n)1Kd(x0,Tx0)0d(T^m x_0, T^n x_0) \le \frac{K^{\min(m,n)}}{1-K} d(x_0, Tx_0) \to 0.
  2. Convergence. By completeness, Tn(x0)xT^n(x_0) \to x^* for some xXx^* \in X.
  3. Fixed point. Pass to the limit in T(Tnx0)=Tn+1x0T(T^n x_0) = T^{n+1} x_0; by continuity of TT, T(x)=xT(x^*) = x^*.
  4. Uniqueness. If T(y)=yT(y) = y also, then d(x,y)=d(Tx,Ty)Kd(x,y)d(x^*, y) = d(Tx^*, Ty) \le K d(x^*, y), so (1K)d(x,y)0(1-K) d(x^*, y) \le 0, hence y=xy = x^*.

Connections

  • 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 → — the Brouwer theorem (topological fixed point) covers compact convex sets in Rn\mathbb{R}^n without assuming contraction; Banach's theorem covers complete metric spaces without assuming compactness.
  • Cauchy CriterionCauchy Criterionε>0  N:  m,nN    aman<ε\forall\varepsilon>0\;\exists N:\; m,n \geq N \implies |a_m - a_n| < \varepsilonA sequence converges if and only if its terms eventually become arbitrarily close to each other — no candidate limit requiredRead more → — the Cauchy sequence construction in the proof uses exactly the Cauchy criterion for convergence in complete spaces.
  • Iterated Function SystemsIterated Function SystemsA=i=1Nfi(A)A = \bigcup_{i=1}^{N} f_i(A)Constructing fractals via contractive affine transformationsRead more → — IFS attractors are fixed points of the Hutchinson operator (a contraction on the Hausdorff-metric space of compact sets), making Banach's theorem the engine behind fractal geometry.
  • Hausdorff DistanceHausdorff DistancedH(A,B)=max(supaAd(a,B), supbBd(b,A))d_H(A, B) = \max\left(\sup_{a \in A} d(a, B),\ \sup_{b \in B} d(b, A)\right)A metric on non-empty compact sets, foundation for the IFS attractor theoremRead more → — the space of non-empty compact subsets of a complete metric space is complete under the Hausdorff metric, so the Banach theorem applies to prove IFS attractor existence.

Lean4 Proof

import Mathlib.Topology.MetricSpace.Contracting

/-- **Banach Fixed Point Theorem**: contraction on complete metric space has unique fixed point.
    Uses `ContractingWith.fixedPoint_isFixedPt` and `ContractingWith.fixedPoint_unique`. -/
theorem banach_fixed_point
    {X : Type*} [MetricSpace X] [CompleteSpace X] [Nonempty X]
    {K : NNReal} {f : X  X} (hf : ContractingWith K f) :
    ! x : X, f x = x :=
  ContractingWith.fixedPoint f hf,
   ContractingWith.fixedPoint_isFixedPt hf,
   fun y hy => ContractingWith.fixedPoint_unique hf hy