intros work ds ni i ai ai' a c equiv_del 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; assumption.
intros i0 b0 n bs lookup nth.
apply In_Atomic_Imps with n bs.
generalize equiv_del lookup; clear equiv_del lookup.
elim ai; clear ai; intros t avl_t.
elim ai'; clear ai'; intros t' avl_t'.
simpl in |- *.
intros equiv_del lookup.
inversion_clear equiv_del.
elim (equal_dec i0 i).
intro equal.
elimtype False.
apply (H i0 equal bs lookup).
intros not_equal.
apply H1; assumption.
assumption.
intros i' lookup; apply In_Atoms; assumption.
Qed.
Inductive in_ngamma_del_ai_rev_spec (i : Int) (bs : nf_list)
(c : normal_form) : Set :=
In_NGamma_Del_AI_Rev_Spec_Intro :
forall (b : normal_form) (n : nat),
my_nth normal_form n bs b ->
c = AImp i b -> in_ngamma_del_ai_rev_spec i bs c.

Lemma in_ngamma_del_ai_rev :
forall (work : nf_list) (ds : disjs) (ni : nested_imps)
(i : Int) (bs : nf_list) (ai ai' : atomic_imps)
(a : atoms) (c : normal_form),
LOOKUP nf_list i ai' bs ->
EQUIV_DEL nf_list i ai' ai ->
in_ngamma work ds ni ai' a c ->
in_ngamma work ds ni ai a c + in_ngamma_del_ai_rev_spec i bs c.