(* Definition split_rmap (m: rmap) : rmap * rmap := (proj1_sig (make_rmap _ (split_rmap_valid1 m) (level m) (split_rmap_ok1 m)), proj1_sig (make_rmap _ (split_rmap_valid2 m) (level m) (split_rmap_ok2 m))). *)

Lemma is_resource_pred_YES_LK lock_size (l: address) (R: pred rmap) sh:
is_resource_pred
(fun l' => yesat (SomeP rmaps.Mpred (fun _ => R)) (LK lock_size (snd l' - snd l)) sh l')
(fun r (l': address) n => exists p, r = YES sh p (LK lock_size (snd l' - snd l))
(SomeP rmaps.Mpred (fun _ => approx n R))).