Proof using.
intros m n h ns f H_adj.
revert f.
induction ns; intros; auto.
simpl.
break_if; simpl; auto.
rewrite IHns.
unfold update2.
break_if; auto.
break_and; subst.
intuition.
Qed.

(* Specifications: *)
Lemma collate_map2snd_in_neq_in_before :
forall from (f : A -> A -> list B) m dsts a b x,
In x (collate A_eq_dec from f (map2snd m dsts) a b) ->
x <> m ->
In x (f a b).