Proof using.
intros. unfold assoc_default.
break_match; congruence.
Qed.

(* Specifications: *)
Lemma assoc_assoc_default_missing:
forall (l : list (K * V)) k d,
assoc l k = None ->
assoc_default l k d = d.
Lemma assoc_set_same :
forall (l : list (K * V)) k v,
assoc l k = Some v ->
assoc_set l k v = l.