Instance Join_nat_rmap': Join (nat * rmap') := Join_prod _ (Join_equiv nat) _ _.

(* Specifications: *)
Lemma fmap_p2p'_inj: forall p q, @fmap SM.preds f_preds K.predicate (@pred rmap ag_rmap) p2p' p = @fmap SM.preds f_preds K.predicate (@pred rmap ag_rmap) p2p' q -> p=q.
Lemma join_unsquash : forall phi1 phi2 phi3, join phi1 phi2 phi3 <-> join (unsquash phi1) (unsquash phi2) (unsquash phi3).
Lemma g2ghost_inv: forall g1 g2, g2ghost g1 = g2ghost g2 -> g1 = g2.
Lemma join_unsquash : forall phi1 phi2 phi3, join phi1 phi2 phi3 <-> join (unsquash phi1) (unsquash phi2) (unsquash phi3).
Lemma ghost_of_core : forall phi, ghost_of (core phi) = core (ghost_of phi).