Instance CompSpecs : compspecs.Definition Vprog : varspecs.Definition acquire_spec := DECLARE _acquire acquire_spec.Definition release_spec := DECLARE _release release_spec.Definition makelock_spec := DECLARE _makelock (makelock_spec _).Definition freelock_spec := DECLARE _freelock (freelock_spec _).(* lock invariant for atomic locations *)
Definition tatomic := Tstruct _atomic_loc noattr.

(* Specifications: *)
Lemma A_inv_super_non_expansive : forall n p l R, compcert_rmaps.RML.R.approx n (A_inv p l R) = compcert_rmaps.RML.R.approx n (A_inv p l (fun v => compcert_rmaps.RML.R.approx n (R v))).
Lemma atomic_loc_super_non_expansive : forall n sh p R, compcert_rmaps.RML.R.approx n (atomic_loc sh p R) = compcert_rmaps.RML.R.approx n (atomic_loc sh p (fun v => compcert_rmaps.RML.R.approx n (R v))).
Lemma A_inv_super_non_expansive : forall n p l R, compcert_rmaps.RML.R.approx n (A_inv p l R) = compcert_rmaps.RML.R.approx n (A_inv p l (fun v => compcert_rmaps.RML.R.approx n (R v))).
Lemma atomic_loc_super_non_expansive : forall n sh p R, compcert_rmaps.RML.R.approx n (atomic_loc sh p R) = compcert_rmaps.RML.R.approx n (atomic_loc sh p (fun v => compcert_rmaps.RML.R.approx n (R v))).