Require Export Completeness.

(* Specifications: *)
Lemma uniform_metric_complete: complete d d_metric ->
complete uniform_metric uniform_metric_is_metric.
Lemma completion_exists: forall (X:Type) (d:X->X->R) (d_metric:metric d),
exists Y:Type, exists i:X->Y, exists d':Y->Y->R,
exists d'_metric:metric d',
injective i /\ dense (Im Full_set i) (X:=MetricTopology d' d'_metric) /\
(forall x1 x2:X, d' (i x1) (i x2) = d x1 x2) /\
complete d' d'_metric.