Opaque lockRes.

Lemma csafe_pop_step :
forall (tp : thread_pool) tr (m : mem) i (cnti : containsThread tp i)
U n
(Hcomp: mem_compatible tp m),
let mrestr := restrPermMap ((compat_th _ _ Hcomp cnti).1) in
forall (Hpop: cnti$mrestr @ E \/ cnti$mrestr @ S)
(Hsafe: csafe ((i :: U),tr,tp) m (S n)),
exists (tp' : thread_pool) tr' (m' : mem),
(cnti$mrestr @ S -> tr' = [::]) /\
cmachine_step ((i :: U), tr,tp) m (U, tr++tr',tp') m' /\
forall U'', csafe (U'',tr ++ tr',tp') m' n.