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