intros js age a R. simpl; unfold OrdinalPool.lockRes; destruct js.
simpl.
intros AA.
apply AMap_find_map_inv in AA. destruct AA as [[? x] [map rest]].
inv rest.
rewrite map. f_equal; f_equal.
destruct x; inversion H1; reflexivity.
Qed.

(* Specifications: *)
Lemma LockRes_age_content2: forall js age a R rm,
lockRes (age_tp_to age js) a = Some (R, Some rm) ->
exists r, lockRes js a = Some (R, Some r) /\ rm = age_to age r.
Lemma access_cohere'_age m : hereditary age (access_cohere' m).
Lemma access_cohere'_unage m : hereditary unage (access_cohere' m).
Lemma mem_cohere'_age m : hereditary age (mem_cohere' m).
Lemma mem_cohere'_unage m : hereditary unage (mem_cohere' m).
Lemma mem_cohere_age_to n m phi :
mem_cohere' m phi ->
mem_cohere' m (age_to n phi).
Lemma mem_cohere_age_to_opp n m phi :
mem_cohere' m (age_to n phi) ->
mem_cohere' m phi.