Opaque member_dec.

Lemma union_pred_ext_derives: forall m {A0 A1} (P0: forall it, A0 it -> val -> mpred) (P1: forall it, A1 it -> val -> mpred) v0 v1 p,
members_no_replicate m = true ->
(forall it, members_union_inj v0 it <-> members_union_inj v1 it) ->
(forall i d0 d1, members_union_inj v0 (i, field_type i m) -> members_union_inj v1 (i, field_type i m) ->
P0 _ (proj_union i m v0 d0) p |-- P1 _ (proj_union i m v1 d1) p) ->
union_pred m P0 v0 p |-- union_pred m P1 v1 p.