let flush defs p =
  List.fold_left
    (fun p (x,_) -> p_forall x p)
    (List.fold_left
       (fun p (x,v) ->
          p_implies (p_eq (e_var x) v) p
       ) p defs)
    defs