Module red := ext_red invert.
Export red.
Set Implicit Arguments.
Set Bullet Behavior "Strict Subproofs".
Definition Good (G : context) (D : available_props):=
erased_context G /\
forall c1 A B1 T1,
binds c1 (Co (Eq A B1 T1)) G
-> c1 `in` D
-> exists C, Par G D A C /\ Par G D B1 C.
(* ---------------------------------------- *)

Lemma open2 :
forall x b b' S D a a',
x `notin` fv_tm_tm_tm a' \u fv_tm_tm_tm a ->
erased_tm b ->
erased_tm (open_tm_wrt_tm a (a_Var_f x)) ->
Par S D (open_tm_wrt_tm a (a_Var_f x)) (open_tm_wrt_tm a' (a_Var_f x)) ->
Par S D b b' ->
Par S D (open_tm_wrt_tm a b) (open_tm_wrt_tm a' b').