Definition pre_rmap (A:Type) := { m:address -> res A | valid' A m }.Definition f_pre_rmap : functor pre_rmap :=
    f_subset (f_fun _ f_res) _ valid'_res_map.Instance Join_pre_rmap (A: Type) : Join (pre_rmap A) :=
            Join_prop _ (Join_fun address (res A) (res_join A)) (valid' A).Instance paf_pre_rmap : pafunctor f_pre_rmap :=
    saf_subset  (paf_fun address paf_res) valid' valid'_res_map valid'_res_map2.

(* Specifications: *)
Lemma identity_jres : forall PRED (r : res PRED), identity r <-> (r = NO' PRED) \/ (exists k, exists pds, r = PURE' _ k pds).
Lemma pre_rmap_sa_valid_core (A: Type): forall x : address -> res A, valid' A x -> valid' A (@core (address -> res A) (Join_fun address (res A) (res_join A)) (Sep_fun address (res A) (res_join A) (sa_rj A)) x).
Lemma pre_rmap_sa_valid_join : forall A (x y z : address -> res A), @join _ (Join_fun address (res A) (res_join A)) x y z -> valid' A x -> valid' A y -> valid' A z.