proposition: Theorem In_gen_zip_fst : forall (A B : Set)(ea : A -> A -> Prop)(lsa : list A)(lsb : list B) a b, In_gen (fun a b => ea (fst a) (fst b)) (a, b) (zip lsa lsb) -> In_gen ea a lsa.
proof: Proof. induction lsa; intuition; simpl in *. destruct lsb; simpl in *; intuition. right. eauto. Qed.
imports: List FCF.Fold FCF.RepeatCore