let pif = function | (_,Ptrue, Ptrue ) -> Ptrue | (_,Pfalse, Pfalse ) -> Pfalse | (t,p1,p2) -> Pif (t,p1,p2)