Require VST.floyd.aggregate_pred. Import VST.floyd.aggregate_pred.aggregate_pred.
Local Open Scope logic.
(************************************************  Definition of nested_reptype_structlist, field_at, array_at, data_at, nested_sfieldlist_at  ************************************************)
Section CENV.
Context {cs: compspecs}.

Lemma struct_Prop_cons2:
forall it it' m (A: ident*type -> Type)
(P: forall it, A it -> Prop)
(v: compact_prod (map A (it::it'::m))),
struct_Prop (it :: it' :: m) P v =
(P _ (fst v) /\ struct_Prop (it'::m) P (snd v)).