intros work ds ni i b ai ai' a c equiv_ins in_ngamma0.
elim (in_ngamma_ins_ai_rev work ds ni i b ai ai' a c); try assumption;
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_a :
forall (work : nf_list) (ds : disjs) (ni : nested_imps)
(ai : atomic_imps) (i : Int) (a a' : atoms) (c : normal_form),
EQUIV_INS unit i (fun _ : unit => tt) tt a a' ->
in_ngamma (NAtom i :: work) ds ni ai a c -> in_ngamma work ds ni ai a' c.