LIST_PBETA_CONVPairRules.LIST_PBETA_CONV : conv
Performs an iterated paired beta-conversion.
The conversion LIST_PBETA_CONV maps terms of the
form
(\p1 p2 ... pn. t) q1 q2 ... qn
to the theorems of the form
|- (\p1 p2 ... pn. t) q1 q2 ... qn = t[q1/p1][q2/p2] ... [qn/pn]
where t[qi/pi] denotes the result of substituting
qi for all free occurrences of pi in
t, after renaming sufficient bound variables to avoid
variable capture.
LIST_PBETA_CONV tm fails if tm does not
have the form (\p1 ... pn. t) q1 ... qn for n
greater than 0.
- LIST_PBETA_CONV (Term `(\(a,b) (c,d) . a + b + c + d) (1,2) (3,4)`);
> val it = |- (\(a,b) (c,d). a + b + c + d) (1,2) (3,4) = 1 + 2 + 3 + 4 : thm
Drule.LIST_BETA_CONV,
PairRules.PBETA_CONV,
Conv.BETA_RULE, Tactic.BETA_TAC, PairRules.RIGHT_PBETA,
PairRules.RIGHT_LIST_PBETA,
PairRules.LEFT_PBETA,
PairRules.LEFT_LIST_PBETA