Section Path.
Variables (x0_cycle : T) (e : rel T).
Fixpoint path x (p : seq T) :=
if p is y :: p' then e x y && path y p' else true.
Definition cycle p := if p is x :: p' then path x (rcons p' x) else true.
Hypothesis leT_tr : {in P & &, transitive leT}.

Lemma sorted_filter_in a s : all P s -> sorted leT s -> sorted leT (filter a s).