#[local]
Hint Resolve set_union_intro2 set_union_intro1 : core.

(* Specifications: *)
Lemma set_union_intro :
forall (a:A) (x y:set),
set_In a x \/ set_In a y -> set_In a (set_union x y).
Lemma set_union_elim :
forall (a:A) (x y:set),
set_In a (set_union x y) -> set_In a x \/ set_In a y.
Lemma set_union_iff a l l': In a (set_union l l') <-> In a l \/ In a l'.
Lemma set_union_nodup l l' : NoDup l -> NoDup l' -> NoDup (set_union l l').
Lemma set_union_emptyL :
forall (a:A) (x:set), set_In a (set_union empty_set x) -> set_In a x.