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 ghost_of_core : forall phi, ghost_of (core phi) = core (ghost_of phi).
Definition rmap_age1 (k:rmap) : option rmap :=
match unsquash k with
| (O,_) => None
| (S n,x) => Some (squash (n,x))
end.