Proof using.
intros.
revert f.
induction ns; intros; auto.
destruct a.
simpl in *.
rewrite IHns.
unfold update2.
break_if; auto.
break_and; subst.
intuition.
Qed.

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