(**  Property localization  **)

Local Notation "{ 'all1' P }" := (forall x, P x : Prop) (at level 0).Local Notation "{ 'all2' P }" := (forall x y, P x y : Prop) (at level 0).Local Notation "{ 'all3' P }" := (forall x y z, P x y z: Prop) (at level 0).Local Notation ph := (phantom Prop).Definition prop_for (x : T1) P & ph {all1 P} := P x.

(* Specifications: *)
Lemma forE x P phP : @prop_for x P phP = P x.