induction ls; intuition; simpl in *.
intuition.
remember (split ls) as z.
destruct z.
intuition.
pairInv.
simpl in *.
inversion H0; clear H0; subst.
rewrite eqb_refl.
trivial.
simpl in *.
inversion H0; clear H0; subst.
case_eq (eqb a a0); intuition.
rewrite eqb_leibniz in H.
subst.
eapply in_split_l in H1.
rewrite <- Heqz in H1.
simpl in *.
intuition.
Qed.

(* Specifications: *)
Theorem arrayLookup_None_not_In :
forall (A B : Set)(eqda : EqDec A)(ls : list (A * B)) a,
arrayLookup _ ls a = None ->
In a (fst (split ls)) -> False.