expand_proof now also takes an optional term describing the proposition
of the theorem to be expanded (to avoid problems with different theorems
having the same names).
consts normif :: ifex => ifex => ifex => ifex
primrec
"normif (CIF b) t e = IF (CIF b) t e"
"normif (VIF x) t e = IF (VIF x) t e"
"normif (IF b t e) u f = normif b (normif t u f) (normif e u f)"