Definition ty_ex (F:pred world -> pred world) : pred world :=
EX tau:pred world, !!(boxy extendM tau) && F tau.

(* Specifications: *)
Lemma T_ExtI : forall G e (X:pred world -> pred world) tau
(Hext : forall tau, boxy extendM tau -> boxy extendM (X tau)),
boxy extendM tau ->
Typ G e (X tau) ->
Typ G e (ty_ex X).
Lemma T_ExtE : forall G e f (X:pred world -> pred world) sigma
(Hext : forall tau, boxy extendM tau -> boxy extendM (X tau)),
Typ G e (ty_ex X) ->
(forall tau, Typ (X tau::G) f sigma) ->
Typ G (App (Lam f) e) sigma.