Definition no_preds (r: resource) :=
match r with NO _ _ => True | YES _ _ _ pp => pp=NoneP | PURE _ pp => pp=NoneP end.

(* Specifications: *)
Lemma remake_rmap:
forall (f: AV.address -> resource) g,
forall n,
(forall l, (exists m, level m = n /\ f l = m @ l) \/ no_preds (f l)) ->
ghost_fmap (approx n) (approx n) g = g ->
{phi: rmap | level phi = n /\ resource_at phi = f /\ ghost_of phi = g}.
Lemma rmap_unage_age:
forall r, age (rmap_unage r) r.
Lemma ageN_resource_at_eq:
forall phi1 phi2 loc n phi1' phi2',
level phi1 = level phi2 ->
phi1 @ loc = phi2 @ loc ->
ageN n phi1 = Some phi1' ->
ageN n phi2 = Some phi2' ->
phi1' @ loc = phi2' @ loc.