beta_conv : term -> term
Care is taken so that no free variable of P becomes captured in this process.
- beta_conv (mk_comb (Term `\(x:'a) (y:'b). x`, Term `(P:bool -> 'a) Q`)); > val it = `\y. P Q` : term - beta_conv (mk_comb (Term `\(x:'a) (y:'b) (y':'b). x`, Term `y:'a`)); > val it = `\y'. y` : term