Definition hist_incl (h : hist_part) l := forall t e, h t = Some e -> nth_error l t = Some e.
Definition hist_list (h : hist_part) l := forall t e, h t = Some e <-> nth_error l t = Some e.

Lemma hist_add' : forall sh h h' e p, sh <> Share.bot ->
ghost_hist sh h p * ghost_ref h' p |-- |==>
ghost_hist sh (map_upd h (length h') e) p * ghost_ref (h' ++ [e]) p.