let mk_let ~fresh v exp p =
let p = match exp with
| Some e ->
Wp_parameters.debug ~level:3 "mk_let %a -> %a" Why_output.pp_var v
MT.pp_exp e;
M.mk_let ~fresh v e p
| None ->
Wp_parameters.debug ~level:3 "mk_let %a -> None" Why_output.pp_var v;
subst_var v None p
in Wp_parameters.debug ~level:3 "mk_let = %a" pretty p;
p