Section InvMachineLemmas.
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.

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.