let rec p_disj = function
  | [] -> Pfalse
  | [p] -> p
  | p::ps -> p_or p (p_disj ps)