The conversion GEN_ALPHA_CONV provides alpha conversion for lambda
abstractions of the form \y.t, quantified terms of the forms !y.t,
?y.t or ?!y.t, and epsilon terms of the form @y.t.  In general,
if B is a binder constant, then GEN_ALPHA_CONV implements alpha
conversion for applications of the form B y.t. 
If tm is an abstraction \y.t or an application of a binder to
an abstraction B y.t, where the bound variable y has type ty,
and if x is a variable also of type ty, then GEN_ALPHA_CONV x tm
returns one of the theorems:
   |- (\y.t)  = (\x'. t[x'/y])   
   |- (B y.t)  = (B x'. t[x'/y])