Global Opaque memory_block.
End COMPSPECS.
(******************************************  Lemmas about specific types  ******************************************)
(* We do these as Hint Extern, instead of Hint Resolve, to limit their application and make them fail faster *)
Hint Extern 1 (mapsto _ _ _ _ |-- mapsto _ _ _ _) =>
(simple apply mapsto_mapsto_int32; apply Coq.Init.Logic.I)  : cancel.
Hint Extern 1 (mapsto _ _ _ _ |-- mapsto_ _ _ _) =>
(simple apply mapsto_mapsto__int32; apply Coq.Init.Logic.I)  : cancel.
Hint Extern 1 (mapsto _ _ _ _ |-- mapsto_ _ _ _) =>
(apply mapsto_mapsto_) : cancel.
Hint Extern 1 (mapsto _ _ _ _ |-- mapsto_ _ _ _) =>
(apply mapsto_mapsto__int32)  : cancel.
Hint Extern 1 (mapsto _ _ _ _ |-- mapsto _ _ _ _) =>
(apply mapsto_mapsto_int32)  : cancel.
Hint Extern 0 (legal_alignas_type _ = true) => reflexivity : cancel.

Lemma mapsto_force_ptr: forall sh t v v',
mapsto sh t (force_ptr v) v' = mapsto sh t v v'.