Section AUXILIARY_PRED.
Context {cs: compspecs}.
Variable sh: share.
Definition struct_data_at_rec_aux (m m0: members) (sz: Z) (P: ListType (map (fun it => reptype (field_type (fst it) m0) -> (val -> mpred)) m)) (v: compact_prod (map (fun it => reptype (field_type (fst it) m0)) m)) : (val -> mpred).

Lemma union_data_at_rec_aux_spec: forall m m0 sz v P,
union_data_at_rec_aux m m0 sz
(ListTypeGen
(fun it => reptype (field_type (fst it) m0) -> val -> mpred)
P m) v =
union_pred m
(fun it v =>
withspacer sh
(sizeof (field_type (fst it) m0))
sz
(P it v)) v.