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.
Existing Instance f_pre_rmap.
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.

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.