\import Algebra.Monoid \import Algebra.Ordered \import Arith.Real \import Arith.Real.Field \import Logic \import Meta \import Order.LinearOrder \import Order.PartialOrder \import Order.StrictOrder \import Paths \import Topology.CoverSpace \import Topology.MetricSpace \open OrderedField \record LipschitzMap (C : Real) (C>0 : 0 < C) \extends UniformMetricMap { | func-lipschitz {x y : Dom} : dist (func x) (func y) <= C * dist x y | func-dist-uniform {eps} eps>0 => inP (pinv C>0 * eps, OrderedSemiring.<_*_positive_positive (pinv>0 C>0) eps>0, \lam d => func-lipschitz <∘r transport (_ <) (inv *-assoc *> pmap (`* _) (pinv-right C>0) *> ide-left) (RealField.<_*_positive-right C>0 d)) | func-cont {U} => defaultImpl PrecoverMap func-cont {_} {U} }