Hint Extern 2 (field_compatible _ nil _) =>
(apply malloc_compatible_field_compatible;
[assumption | reflexivity | reflexivity]).

(* Specifications: *)
Lemma data_array_at_local_facts {cs: compspecs}:
forall t' n a sh (v: list (reptype t')) p,
data_at sh (Tarray t' n a) v p |--
!! (field_compatible (Tarray t' n a) nil p
/\ Zlength v = Z.max 0 n
/\ Forall (value_fits t') v).
Lemma data_array_at_local_facts' {cs: compspecs}:
forall t' n a sh (v: list (reptype t')) p,
n >= 0 ->
data_at sh (Tarray t' n a) v p |--
!! (field_compatible (Tarray t' n a) nil p
/\ Zlength v = n
/\ Forall (value_fits t') v).
Lemma value_fits_by_value {cs: compspecs}:
forall t v,
type_is_volatile t = false ->
type_is_by_value t = true ->
value_fits t v = tc_val' t (repinject t v).