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').