let rec p_conj = function
  | [] -> PRED.Ptrue | [p] -> p
  | p::ps -> PRED.p_and p (p_conj ps)