Definition ghost_master sh (a : @G P) p := own p (sh, a) NoneP.

(* Specifications: *)
Lemma master_init : forall (a : @G P), exists g', joins (Tsh, a) g'.
Lemma master_share_join : forall sh1 sh2 sh v p, sepalg.join sh1 sh2 sh -> ghost_master sh1 v p * ghost_master sh2 v p = ghost_master sh v p.