let pimplies = function | Ptrue, p2 -> p2 | Pfalse, _ -> Ptrue | _, Ptrue -> Ptrue | p1, p2 -> Pimplies (p1, p2)