EXISTS : term * term -> thm -> thm
A |- p[u/x]
------------- EXISTS (`?x. p`,`u`)
A |- ?x. p
# EXISTS (`?x. x <=> T`,`T`) (REFL `T`);; val it : thm = |- ?x. x <=> T # EXISTS (`?x:bool. x = x`,`T`) (REFL `T`);; val it : thm = |- ?x. x <=> x