A self-map f : X → X is a contraction if it is 1-Lipschitz.
Instances For
A self-map f : X → X is a strict contraction if it has a contraction constant c with 0 < c < 1.
Instances For
A real number c is a contraction constant of f if 0 < c < 1 and dist (f x) (f y) ≤ c * dist x y for all x,y.
Instances For
Definition 6.13 (Contraction and strict contraction):
(i) f is a contraction iff dist (f x) (f y) ≤ dist x y for all x,y.
(ii) f is a strict contraction iff there exists c with 0 < c < 1 such that
dist (f x) (f y) ≤ c * dist x y for all x,y; such a c is a contraction constant.
Proposition 6.13(1): if f : [a,b] → [a,b] is continuous on [a,b],
differentiable on (a,b), and |f'| ≤ 1 on (a,b), then
|f(x) - f(y)| ≤ |x - y| for all x,y ∈ [a,b];
in particular, the induced self-map of [a,b] is a non-expanding contraction.
Proposition 6.14: Let f : [a,b] → ℝ be differentiable and assume
|f x - f y| ≤ |x - y| for all x,y ∈ [a,b]. Then the derivative of f
within [a,b] satisfies |f'(x)| ≤ 1 for all x ∈ [a,b].
Helper for Proposition 6.15: from a contraction witness with 0 ≤ c < 1,
extract the nonnegativity and distance bound needed for Lipschitz control.
Helper for Proposition 6.15: convert a real-valued contraction estimate with
c ≥ 0 into an NNReal-valued LipschitzWith bound.
Helper for Proposition 6.15: any map with an NNReal Lipschitz bound is continuous.
Proposition 6.15: If f : X → X on a metric space satisfies
dist (f x) (f y) ≤ c * dist x y for some c ∈ [0,1) and all x,y,
then f is Lipschitz and therefore continuous on X.
Definition 6.14 (Fixed point): Let X be a set and let f : X → X be a map. An element x ∈ X is a fixed point of f if f x = x.
Instances For
Helper for Theorem 6.7: convert a real-valued contraction bound with
0 ≤ c < 1 into ContractingWith with an NNReal constant.
Helper for Theorem 6.7: fixed points of a ContractingWith map are unique.
Helper for Theorem 6.7: in a nonempty complete metric space, a
ContractingWith map has a unique fixed point.
Theorem 6.7 (Contraction mapping theorem): Let (X,d) be a metric space and
f : X → X satisfy dist (f x) (f y) ≤ c * dist x y for some c ∈ [0,1) and all
x,y. Then f has at most one fixed point. If, in addition, X is nonempty and
complete, then f has exactly one fixed point.
Helper for Proposition 6.16: the f-centered triangle inequality and contraction
bound imply dist x0 y0 ≤ ε + c * dist x0 y0.
Helper for Proposition 6.16: the g-centered triangle inequality and contraction
bound imply dist x0 y0 ≤ ε + c' * dist x0 y0.
Helper for Proposition 6.16: from d ≤ ε + a*d with a < 1, one gets
d ≤ ε / (1 - a).
Helper for Proposition 6.16: combine the c- and c'-division bounds into
the denominator 1 - min c c' by a case split on c ≤ c'.
Proposition 6.16: Let (X,d) be a complete metric space, and let f,g : X → X
be strict contractions with contraction constants c,c' ∈ (0,1), respectively.
If x₀ and y₀ are fixed points of f and g, and there exists ε > 0 such that
dist (f x) (g x) ≤ ε for all x, then
dist x₀ y₀ ≤ ε / (1 - min c c').
Helper for Theorem 6.6: turn the real-valued contraction hypothesis into
ContractingWith with an NNReal constant.
Helper for Theorem 6.6: the local fixed-point predicate agrees with mathlib's
IsFixedPt.
Helper for Theorem 6.6: uniqueness stated using
ContractingWith.fixedPoint.
Helper for Theorem 6.6: iterates Nat.iterate f n x₀ converge to the
ContractingWith.fixedPoint.
Theorem 6.6 (Banach fixed-point theorem): If X is a nonempty complete metric
space and f : X → X is a contraction with constant c satisfying 0 < c < 1, then
f has a unique fixed point x*; moreover, for every initial point x₀, the iterates
x_{n+1} = f(x_n) converge to x*.