Proof
fun X A a x x' H1 H2 E _ e =>
e x x' (eq_refl (opt X) (some X x')) (eq_refl (opt X) (none X)) H1 H2.

Lemma union_elim :
forall (X : Typ1) (A : Rel X) (a : X) (Y : Typ1) (B : Rel Y) (b : Y),
ELT Y B b (opt X) (UNION X A a) (none X) ->
exG (fun Z C c => and (ELT Y B b Z C c) (ELT Z C c X A a)).