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