Opaque lockRes.

Lemma strong_tsim_id_trans:
forall (tp1 tp1' tp2 : thread_pool) (m1 m1' m2 : mem)
(f : memren) i
(pf1 : containsThread tp1 i)
(pf1' : containsThread tp1' i)
(pf2 : containsThread tp2 i)
(Hcomp1 : mem_compatible tp1 m1)
(Hcomp1' : mem_compatible tp1' m1')
(Hcomp2 : mem_compatible tp2 m2)
(Hvalid: forall b, Mem.valid_block m1 b <-> Mem.valid_block m1' b)
(Hctl_id: ctl_inj (id_ren m1) (getThreadC pf1) (getThreadC pf1'))
(Hobs_eq_id: mem_obs_eq (id_ren m1) (restrPermMap (compat_th _ _ Hcomp1 pf1).1)
(restrPermMap (compat_th _ _ Hcomp1' pf1').1))
(Hctl_eq: ctl_inj f (getThreadC pf1) (getThreadC pf2))
(Hmem_obs_eq: mem_obs_eq f (restrPermMap (compat_th _ _ Hcomp1 pf1).1)
(restrPermMap (compat_th _ _ Hcomp2 pf2).1)),
ctl_inj f (getThreadC pf1') (getThreadC pf2) /\
mem_obs_eq f (restrPermMap (compat_th _ _ Hcomp1' pf1').1) (restrPermMap (compat_th _ _ Hcomp2 pf2).1).