induction 1; intuition; simpl in *.
trivial.
destruct a1.
destruct a2.
destruct p.
simpl in *.
intuition.
subst.
destruct p0. simpl in *.
case_eq (eqb a a0); intuition.
econstructor.
intuition.
eapply IHlist_pred.
destruct p.
case_eq (eqb a a0); intuition.
subst.
eapply IHlist_pred.
Qed.

(* Specifications: *)
Theorem arrayLookupOpt_getSomes_eq :
forall (A B : Set)(eqda : EqDec A)(ls : list (option (A * B)))(a : A),
arrayLookupOpt _ ls a = arrayLookup _ (getSomes ls) a.