Notation init_hist := (Some (Tsh, [] : hist), Some ([] : hist)).

(* The user must make the init_hist before calling make_atomic, so that the ghost location is known. *)
Lemma MA_hist_spec : forall g v R, precise (EX h : _, R h v) ->
MA_spec v (ghost init_hist g * valid (R [Store v]) v) (hist_R g R) (ghost_hist Tsh ([(O, Store v)]) g).