(* ********************************************************************* *)
  (** ** The [simpl_alist] tactic *)

  (** The [simpl_alist] tactic rewrites association lists so that they
      are in the normal form described above.  Similar to the [simpl]
      tactic, we define "[in *]" and "[in H]" variants of the tactic. *)

  Ltac simpl_asnlist :=
    autorewrite with rewr_list rewr_list_in rewr_map rewr_dom.Implicit Types A B C D : Set.

Lemma disjoint_one_r : forall A B (x : atom) (a : A) (E : list (asn A B)), disjoint E (one (VarAsn B x a)) <-> x `notin` dom E.