Definition full_hist h v := exists l, hist_list h l /\ apply_hist (vint 0) l = Some (vint v).Definition full_hist' h v := exists l, hist_list' h l /\ apply_hist (vint 0) l = Some v.

(* Specifications: *)
Lemma full_hist_weak : forall h v (Hl : full_hist h v), full_hist' h (vint v).
Lemma full_hist'_drop : forall h h' v (Hh : full_hist' h v) (Hh' : incl h' h) (HNoDup : NoDup (map fst h')) (Hdiff : forall t e, In (t, e) h -> ~In (t, e) h' -> forall v, ~writes e v), full_hist' h' v.