Canonical connect_app_pred x := ApplicativePred (connect x).

(* Specifications: *)
Lemma connectP x y : reflect (exists2 p, path e x p & y = last x p) (connect x y).
Lemma connect_trans : transitive connect.
Lemma connect0 x : connect x x.
Lemma eq_connect0 x y : x = y -> connect x y.
Lemma connect1 x y : e x y -> connect x y.
Lemma path_connect x p : path e x p -> subpred (mem (x :: p)) (connect x).