Proof using.
intros.
assert (H_eq: update2 A_eq_dec f h n ms h h' =  f h h').
unfold update2.
break_if; auto.
break_and; subst.
intuition.
rewrite (collate_f_eq _ _ _ _ _ _ H_eq).
trivial.
Qed.

(* Specifications: *)
Lemma collate_not_in :
forall h h' l1 l2 (f : A -> A -> list B),
~ In h' (map fst l1) ->
collate A_eq_dec h f (l1 ++ l2) h h' = collate A_eq_dec h f l2 h h'.