PAIRED_ETA_CONV : conv
PAIRED_ETA_CONV "\(v1..(..)..vn). f (v1..(..)..vn)" = |- \(v1..(..)..vn). f (v1..(..)..vn) = f
#set_flag(`print_uncurry`,false);; true : bool #let tm = "\(x:num,y:num). FST (x,y)";; tm = "UNCURRY(\x y. FST(x,y))" : term
let SELECT_PAIR_EQ = PROVE ("(@(x:*,y:**). (a,b) = (x,y)) = (a,b)", CONV_TAC (ONCE_DEPTH_CONV PAIRED_ETA_CONV) THEN ACCEPT_TAC (SYM (MATCH_MP SELECT_AX (REFL "(a:*,b:**)"))));;