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_getthread i tp cnti :
Permutation (maps tp)
(@getThreadR _ _ _ i tp cnti :: all_but i (maps tp)).