Section Machine.
Context {ge : Clight.genv}.
Definition getLocksR (tp : jstate ge) := listoption_inv (map snd (AMap.elements (lset tp))).
Definition maps tp := (getThreadsR tp ++ getLocksR tp)%list.
(** * Results about handling threads' rmaps *)
Instance JSem : Semantics := ClightSemanticsForMachines.Clight_newSem ge.
(** * Results about handling locks *)
(** * All of those results in terms of [maps] *)

Lemma maps_updthreadR i tp cnti phi :
Permutation (maps (@updThreadR _ _ _ i tp cnti phi))
(phi :: all_but i (maps tp)).