Module Type ext_subst_sig.
Include ext_weak_sig.

Axiom E_Pi_exists : forall x (G : context) (rho : relflag) (A B : tm),
x `notin` dom G \u fv_tm_tm_tm B
-> Typing ([(x, Tm A)] ++ G) (open_tm_wrt_tm B (a_Var_f x)) a_Star
-> Typing G A a_Star -> Typing G (a_Pi rho A B) a_Star.