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_updlock2 (tp : jstate ge) addr phi :
Permutation (maps (updLockSet tp addr (Some phi)))
(phi :: maps (remLockSet tp addr)).