Require Export Coq.Lists.List.
Require Export Coq.ZArith.ZArith.
Require Export compcert.lib.Coqlib.
Require Export compcert.lib.Integers.
Require Export compcert.lib.Floats.
Require Export compcert.common.Values.
Require Export VST.msl.eq_dec.
Require Export VST.msl.Coqlib2.
Require Export VST.floyd.coqlib3.
Require Export VST.floyd.sublist.

(* Specifications: *)
Lemma Vint_injective i j (H: Vint i = Vint j): i=j.
Lemma cons_inv {A} (a a':A) l l': a::l = a'::l' -> a=a' /\ l=l'.
Hint Rewrite <- offset_val_force_ptr : norm.
Lemma offset_offset_val:
forall v i j, offset_val j (offset_val i v) = offset_val (i + j) v.