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