PAIRED_ETA_CONV : conv
PAIRED_ETA_CONV \(v1..(..)..vn). f (v1..(..)..vn) = |- \(v1..(..)..vn). f (v1..(..)..vn) = f
- dest_comb (Term `\(x:num,y:num). FST (x,y)`) > val it = (`UNCURRY`, `\x y. FST (x,y)`) : term * term
val SELECT_PAIR_EQ = Q.prove (`(@(x:'a,y:'b). (a,b) = (x,y)) = (a,b)`, CONV_TAC (ONCE_DEPTH_CONV PairedLambda.PAIRED_ETA_CONV) THEN ACCEPT_TAC (SYM (MATCH_MP SELECT_AX (REFL (Term `(a:'a,b:'b)`)))));