Module docstring
{"# 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.
Finally, f : α → β is called locally Lipschitz continuous if each x : α has a neighbourhood
on which f is Lipschitz continuous (with some constant).
In this file we specialize various facts about Lipschitz continuous maps to the case of (pseudo) metric spaces.
Implementation notes
The parameter K has type ℝ≥0. This way we avoid conjunction in the definition and have
coercions both to ℝ and ℝ≥0∞. Constructors whose names end with ' take K : ℝ as an
argument, and return LipschitzWith (Real.toNNReal K) f.
"}