Program Definition is_w w: pred rmap := fun w' => necR w w'.

(* Specifications: *)
Lemma cored_unit: forall w, cored w = join w w w.
Lemma cored_core: forall w, cored (core w).
Lemma cored_duplicable: cored = cored * cored.
Lemma join_singleton_inv: forall k a b RA c v pp, join a b (singleton k (existT _ RA (exist _ (core c) v), pp)) -> a = singleton k (existT _ RA (exist _ (core c) v), pp) \/ b = singleton k (existT _ RA (exist _ (core c) v), pp).
Lemma own_super_non_expansive: forall {RA: Ghost} n g a pp, approx n (own g a pp) = approx n (own g a (preds_fmap (approx n) (approx n) pp)).