induction lsa; intuition.
exists nil.
econstructor.
destruct H0.
destruct (H a).
exists (x0 :: x).
econstructor; eauto.
Qed.

Lemma rel_map_func : forall (A B : Type) (rel : A -> B -> Prop) lsa lsb1,
rel_map rel lsa lsb1 ->
forall lsb2,
rel_map rel lsa lsb2 ->
(forall a b1 b2, In a lsa -> rel a b1 -> rel a b2 -> b1 = b2) ->
lsb1 = lsb2.