(** * Results about handling locks *)

(* Specifications: *)
Lemma getLocksR_updLockSet_Some tp addr phi :
Permutation
(getLocksR (updLockSet(resources:=LocksAndResources) tp addr (Some phi)))
(phi :: getLocksR (remLockSet tp addr)).
Lemma getLocksR_updLockSet_None (tp : jstate ge) addr :
getLocksR (updLockSet tp addr None) = getLocksR (remLockSet tp addr).
Lemma getLocksR_SSome (tp : jstate ge) addr phi :
lockRes tp addr = Some (Some phi) ->
Permutation
(getLocksR tp)
(phi :: getLocksR (remLockSet tp addr)).
Lemma getLocksR_SNone (tp : jstate ge) addr :
lockRes tp addr = Some None ->
getLocksR (remLockSet tp addr) = getLocksR tp.
Lemma getLocksR_None (tp : jstate ge) addr :
lockRes tp addr = None ->
getLocksR (remLockSet tp addr) = getLocksR tp.