fact: Definition filter A (P:A->Prop) (l:list A) : list A := fold_right (fun x acc => If P x then x::acc else acc) (@nil A) l.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)