Definition AnnIso_respects_atoms_eq   := third  ann_respects_atoms_eq_mutual.Definition AnnDefEq_respects_atoms_eq := fourth ann_respects_atoms_eq_mutual.

(* Specifications: *)
Lemma ann_strengthen_noncovar: (forall G1 a A, AnnTyping G1 a A -> True) /\ (forall G1 phi, AnnPropWff G1 phi -> True) /\ (forall G1 D g p1 p2, AnnIso G1 D g p1 p2 -> forall x, not (exists phi, binds x (Co phi) G1) -> AnnIso G1 (remove x D) g p1 p2) /\ (forall G1 D g A B, AnnDefEq G1 D g A B -> forall x, not (exists phi, binds x (Co phi) G1) -> AnnDefEq G1 (remove x D) g A B) /\ (forall G1 , AnnCtx G1 -> True).
Lemma ann_remove_available_mutual: (forall G1 a A, AnnTyping G1 a A -> True) /\ (forall G1 phi, AnnPropWff G1 phi -> True) /\ (forall G1 D g p1 p2, AnnIso G1 D g p1 p2 -> AnnIso G1 (AtomSetImpl.inter D (dom G1)) g p1 p2) /\ (forall G1 D g A B, AnnDefEq G1 D g A B -> AnnDefEq G1 (AtomSetImpl.inter D (dom G1)) g A B) /\ (forall G1 , AnnCtx G1 -> True).
Lemma AnnDefEq_weaken_available : forall G D g A B, AnnDefEq G D g A B -> AnnDefEq G (dom G) g A B.
Lemma AnnIso_weaken_available : forall G D g A B, AnnIso G D g A B -> AnnIso G (dom G) g A B.