let pred_forall_cv p v =
let p = try
let lv = Cil.cvar_to_lvar v in
let addr_var = WpFol.addr_lvar ~create:false lv in
let p = Fol.pimplies (Why_ops.base_id (Fol.Tvar addr_var) lv.lv_id, p) in
let p = M.add_decl_hyp (Cil.cvar_to_lvar v) p in
MT.pred_forall ~fresh:false addr_var p
with WpFol.No_addr -> p
in
let v = WpFol.cvar_to_folvar v in
let p = MT.pred_forall ~fresh:true v p in
p