let subst env lval exp p =
    let mem_here = mem_at env Clabels.Here in
    let v, mu = get_var_and_mu mem_here lval exp in
      Wp_parameters.debug ~level: 3 "hoare:subst %a <-- %a@."
        F.pp_term (F.var v) F.pp_term mu;
    D.subst v mu p