induction ls1; destruct ls2; intuition; simpl in *; try discriminate.
inversion H; clear H; subst.
apply andb_true_iff.
intuition.
eapply eqb_leibniz.
trivial.
Qed.
Instance list_EqDec (A : Set) (dA : EqDec A) : EqDec (list A).
refine {| eqb := (@eqbList A dA ) |}.
intuition.
eapply eqbList_correct1; trivial.
eapply eqbList_correct2; trivial.
Qed.

(* Specifications: *)
Theorem eqb_false_iff :
forall (A : Set)(eqd : EqDec A)(a1 a2 : A),
eqb a1 a2 = false <->
a1 <> a2.