intros work ds ni ni' ai a c eq in_ngamma0.
elim in_ngamma0; clear in_ngamma0 c.
intros n c0 nth; apply In_Work with n; assumption.
intros n i j nth; apply In_Disjs with n; assumption.
intros n x' nth; apply In_Nested_Imps with n.
rewrite <- eq; assumption.
intros i' b n bs lookup nth; apply In_Atomic_Imps with n bs; assumption.
intros i' lookup; apply In_Atoms; assumption.
Qed.

Lemma in_ngamma_ins_ai_tail :
forall (work : nf_list) (ds : disjs) (ni : nested_imps)
(i : Int) (b : normal_form) (ai ai' : atomic_imps)
(a : atoms) (c : normal_form),
EQUIV_INS nf_list i (cons b) nf_nil ai ai' ->
in_ngamma work ds ni ai a c -> in_ngamma work ds ni ai' a c.