(**************** EXT Weak ****************)
Module Type ext_weak_sig.
Include ext_wf_sig.

Axiom typing_weakening_mutual:
(forall G0 a A,   Typing G0 a A ->
forall E F G, (G0 = F ++ G) -> Ctx (F ++ E ++ G) -> Typing (F ++ E ++ G) a A) /\
(forall G0 phi,   PropWff G0 phi ->
forall E F G, (G0 = F ++ G) -> Ctx (F ++ E ++ G) -> PropWff (F ++ E ++ G) phi) /\
(forall G0 D p1 p2, Iso G0 D p1 p2 ->
forall E F G, (G0 = F ++ G) -> Ctx (F ++ E ++ G) -> Iso (F ++ E ++ G) D p1 p2) /\
(forall G0 D A B T,   DefEq G0 D A B T ->
forall E F G, (G0 = F ++ G) -> Ctx (F ++ E ++ G) -> DefEq (F ++ E ++ G) D A B T) /\
(forall G0,       Ctx G0 ->
forall E F G, (G0 = F ++ G) -> Ctx (F ++ E ++ G) -> Ctx (F ++ E ++ G)).