CURRY_CONVPairRules.CURRY_CONV : conv
Currys an application of a paired abstraction.
> PairRules.CURRY_CONV (Term `(\(x,y). x + y) (1,2)`);
val it = ⊢ (λ(x,y). x + y) (1,2) = (λx y. x + y) 1 2: thm
> PairRules.CURRY_CONV (Term `(\(x,y). x + y) z`);
val it = ⊢ (λ(x,y). x + y) z = (λx y. x + y) (FST z) (SND z): thm
CURRY_CONV tm fails if tm is not an
application of a paired abstraction.