Definition complete : Prop :=
forall x:nat->X, cauchy x ->
exists x0:X, net_limit x x0 (I:=nat_DS)
(X:=MetricTopology d d_metric).
End Completeness.
Arguments cauchy {X}.
Arguments complete {X}.
Section closed_subset_of_complete.
Variable X:Type.
Variable d:X->X->R.
Hypothesis d_metric:metric d.
Variable F:Ensemble X.
Let FT := { x:X | In F x }.
Let d_restriction := fun x y:FT => d (proj1_sig x) (proj1_sig y).

(* Specifications: *)
Lemma d_restriction_metric: metric d_restriction.
Lemma closed_subset_of_complete_is_complete:
complete d d_metric ->
closed F (X:=MetricTopology d d_metric) ->
complete d_restriction d_restriction_metric.
Lemma complete_subset_is_closed:
complete d_restriction d_restriction_metric ->
closed F (X:=MetricTopology d d_metric).