unfold open, complement in |- *.
intros X f complement_clX.
generalize
(not_all_ex_not nat (fun n : nat => exists g : B, X g /\ neighbour f n g)
complement_clX).
simple induction 1; intros n H1.
exists n.
unfold inclusion in |- *; intros g fng.
unfold not in |- *; intro H2.
apply H1.
elim (H2 n).
simple induction 1; intros.
exists x; split; trivial.
apply trans_neighbour with g; trivial.
Qed.
Hint Resolve closedc_clX.

(* Specifications: *)
Lemma Xinc_clX : forall X : Top, inclusion X (closure X).
unfold inclusion in |- *; intros X f Xf.