induction lsa; inversion 1; intuition; subst; simpl in *;
econstructor.
inversion H; clear H; subst.
trivial.
eauto.
Qed.

Theorem list_pred_rev :
forall (A B : Set)(lsa : list A)(lsb : list B) P,
list_pred P lsa lsb ->
forall a b,
P a b ->
list_pred P (lsa ++ (a :: nil)) (lsb ++ (b :: nil)).