LIST_BETA_CONVDrule.LIST_BETA_CONV : conv
Performs an iterated beta conversion.
The conversion LIST_BETA_CONV maps terms of the form
"(\x1 x2 ... xn. u) v1 v2 ... vn"
to the theorems of the form
|- (\x1 x2 ... xn. u) v1 v2 ... vn = u[v1/x1][v2/x2] ... [vn/xn]
where u[vi/xi] denotes the result of substituting
vi for all free occurrences of xi in
u, after renaming sufficient bound variables to avoid
variable capture.
LIST_BETA_CONV tm fails if tm does not have
the form "(\x1 ... xn. u) v1 ... vn" for n
greater than 0.
- LIST_BETA_CONV (Term `(\x y. x+y) 1 2`);
> val it = |- (\x y. x + y)1 2 = 1 + 2 : thm
Thm.BETA_CONV, Conv.BETA_RULE, Tactic.BETA_TAC, Drule.RIGHT_BETA, Drule.RIGHT_LIST_BETA