proposition: Lemma list_pred_map_r_if : forall (A B C : Set) (P : A -> C -> Prop)(lsb : list B)(lsa : list A)(f : B -> C), list_pred P lsa (map f lsb) -> list_pred (fun a b => P a (f b)) lsa lsb.
proof: Proof. induction lsb; inversion 1; intuition; subst; simpl in *; econstructor. inversion H; clear H; subst. trivial. inversion H; clear H; subst. eauto. Qed.
imports: FCF.FCF Permutation