Fixpoint Elems (l:list ad) : FSet :=
    match l with
    | nil => M0 unit
    | a :: l' => MapPut _ (Elems l') a tt
    end.

Lemma ad_in_list_app : forall (l l':list ad) (x:ad), ad_in_list x (l ++ l') = orb (ad_in_list x l) (ad_in_list x l').