intros x work ds ni1 ni2 ai a c in_ngamma0.
elim (in_ngamma_ni_x_ni_rev work ds x ni1 ni2 ai a c in_ngamma0);
clear in_ngamma0.
intros in_ngamma0.
apply in_ngamma_cons_work_tail; assumption.
intros eq_c;  rewrite eq_c.
apply in_ngamma_cons_work_head.
Qed.

(* Specifications: *)
Lemma in_ngamma_shift_work_ai_new :
forall (work : nf_list) (ds : disjs) (ni : nested_imps)
(i : Int) (b : normal_form) (ai ai' : atomic_imps)
(a : atoms) (c : normal_form),
(forall bs : nf_list, LOOKUP nf_list i ai bs -> False) ->
EQUIV_INS nf_list i (cons b) nf_nil ai ai' ->
in_ngamma (AImp i b :: work) ds ni ai a c -> in_ngamma work ds ni ai' a c.