GEN_BETA_CONV : conv
GEN_BETA_CONV "(\(x,y). t) p" = t[(FST p)/x, (SND p)/y]
- pairLib.GEN_BETA_CONV (Term `(\(x,y). x + y) (1,2)`); val it = |- (\(x,y). x + y)(1,2) = 1 + 2 : thm
- pairLib.GEN_BETA_CONV (Term `(\(x,y). x + y) numpair`); > val it = |- (\(x,y). x + y) numpair = FST numpair + SND numpair : thm
- pairLib.GEN_BETA_CONV (Term `(\(w,x,y,z). w + x + y + z) (1,triple)`); > val it = |- (\(w,x,y,z). w + x + y + z) (1,triple) = 1 + FST triple + FST (SND triple) + SND (SND triple) : thm