(* Rather than carry the initial value, let's just write it as the first element in the history. *)
Definition atomic_loc_hist sh p g R (h : hist) := atomic_loc sh p (hist_R g R) * ghost_hist sh h g.

Lemma hist_R_precise : forall p R v, precise (EX h : _, R h v) -> precise (hist_R p R v).
Hint Resolve hist_R_precise.