intros x work ds ni1 ni2 ai a c in_ngamma0.
elim
(in_ngamma_cons_work_rev (NImp_NF (nested_imp2nimp x)) work ds
(ni1 ++ ni2) ai a c in_ngamma0); clear in_ngamma0.
intros in_ngamma0.
apply in_ngamma_ni_x_ni_tail; assumption.
intros eq_c;  rewrite eq_c.
apply in_ngamma_ni_x_ni_head with (x := x).
Qed.

(* Specifications: *)
Lemma in_ngamma_shift_ni_x_ni_work :
forall (x : nested_imp) (work : nf_list) (ds : disjs)
(ni1 ni2 : nested_imps) (ai : atomic_imps) (a : atoms)
(c : normal_form),
in_ngamma work ds (ni1 ++ x :: ni2) ai a c ->
in_ngamma (NImp_NF (nested_imp2nimp x) :: work) ds (ni1 ++ ni2) ai a c.