Notation hist_part := (nat -> option hist_el).Definition hist_sub sh (h : hist_part) hr := sh <> Share.bot /\ if eq_dec sh Tsh then h = hr
  else map_incl h hr.

(* Specifications: *)
Lemma completable_alt : forall sh h hr, @completable map_disj_PCM (Some (sh, h)) hr <-> hist_sub sh h hr.
Lemma hist_sub_upd : forall sh h hr t' e (Hsub : hist_sub sh h hr), hist_sub sh (map_upd h t' e) (map_upd hr t' e).