unfold collidesWith in *.
induction ls; intuition; simpl in *.
intuition.
pairInv.
case_eq (eqb a' a); intuition.
rewrite  eqb_leibniz in H.
subst.
intuition.
rewrite eqb_refl.
simpl in *.
trivial.
case_eq (eqb b1 b0); intuition.
case_eq (eqb a' a0); intuition.
simpl.
eapply IHls; intuition.
eauto.
subst; intuition.
simpl.
eapply IHls; eauto.
Qed.

(* Specifications: *)
Theorem funcCollision_false_impl_collidesWith_false :
forall (A B : Set)(eqda : EqDec A)(eqdb : EqDec B) ls (a : A) (b : B),
funcCollision _ _ ls = false ->
In (a, b) ls ->
collidesWith _ _ ls a b = false.
Theorem funcCollision_false_impl_collidesWith_false :
forall (A B : Set)(eqda : EqDec A)(eqdb : EqDec B) ls (a : A) (b : B),
funcCollision _ _ ls = false ->
In (a, b) ls ->
collidesWith _ _ ls a b = false.