Lipschitz continuous functions
A map f : α → β
between two (extended) metric spaces is called Lipschitz continuous
with constant K ≥ 0
if for all x, y
we have edist (f x) (f y) ≤ K * edist x y
.
For a metric space, the latter inequality is equivalent to dist (f x) (f y) ≤ K * dist x y
.
There is also a version asserting this inequality only for x
and y
in some set s
.
In this file we provide various ways to prove that various combinations of Lipschitz continuous functions are Lipschitz continuous. We also prove that Lipschitz continuous functions are uniformly continuous.
Main definitions and lemmas
lipschitz_with K f
: states thatf
is Lipschitz with constantK : ℝ≥0
lipschitz_on_with K f
: states thatf
is Lipschitz with constantK : ℝ≥0
on a sets
lipschitz_with.uniform_continuous
: a Lipschitz function is uniformly continuouslipschitz_on_with.uniform_continuous_on
: a function which is Lipschitz on a set is uniformly continuous on that set.
Implementation notes
The parameter K
has type nnreal
. This way we avoid conjuction in the definition and have
coercions both to ℝ
and ennreal
. Constructors whose names end with '
take K : ℝ
as an
argument, and return lipschitz_with (nnreal.of_real K) f
.
A function f
is Lipschitz continuous with constant K ≥ 0
if for all x, y
we have dist (f x) (f y) ≤ K * dist x y
A function f
is Lipschitz continuous with constant K ≥ 0
on s
if for all x, y
in s
we have dist (f x) (f y) ≤ K * dist x y
A Lipschitz function is uniformly continuous
A Lipschitz function is continuous
The product of a list of Lipschitz continuous endomorphisms is a Lipschitz continuous endomorphism.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
doesn't assume 0≤K
.
For functions to ℝ
, it suffices to prove f x ≤ f y + K * dist x y
; this version
assumes 0≤K
.
If a function is locally Lipschitz around a point, then it is continuous at this point.