let mk_let ~fresh v exp p = match exp with
| Fol.Tdata E0addr _ ->
Fol.subst_in_pred prop_in_data v exp p
| _ ->
Wp_parameters.debug ~level:3 "mk_let : %a <- %a (%s fresh )@."
Why_output.pp_var v pp_exp0 exp (if fresh then "" else "no");
Fol.let_pred prop_in_data ~fresh v exp p