Program Definition approx (n:nat) (p: (pred rmap)) : (pred rmap) :=
fun w => level w < n /\ p w.
Next Obligation.
destruct H0.
split.
apply age_level in H.
simpl in *. omega.
apply pred_hereditary with a; auto.
Qed.

(* Lemma fmap_p2p'_inj: forall p q, fmap SM.preds K.predicate K.predicate (@pred rmap ag_rmap) p = fmap SM.preds K.predicate K.predicate (@pred rmap ag_rmap) q -> p=q. *)
Lemma g2ghost_inv: forall g1 g2, g2ghost g1 = g2ghost g2 -> g1 = g2.