Ltac do_map_arg :=
match goal with |- ?a = ?b =>
  match a with context [map ?x _] =>
    match b with context [map ?y _] => replace y with x; auto end end end.

(* Specifications: *)
Lemma preds_fmap_fmap: forall f g pp, preds_fmap f (preds_fmap g pp) = preds_fmap (f oo g) pp.
Lemma resource_fmap_fmap: forall f g r, resource_fmap f (resource_fmap g r) = resource_fmap (f oo g) r.
Lemma rmap_valid: forall r, AV.valid (res_option oo resource_at r).