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_ext: forall m {A0 A1} (P0: forall it, A0 it -> Prop) (P1: forall it, A1 it -> Prop) v0 v1,
members_no_replicate m = true ->
(forall i d0 d1, in_members i m ->
P0 _ (proj_struct i m v0 d0) = P1 _ (proj_struct i m v1 d1)) ->
struct_Prop m P0 v0 = struct_Prop m P1 v1.