intros b c work ds ni ai a context der_ab sound.
unfold nsound in |- *.
intros c0 in_ngamma.
elim (in_ngamma_cons_work_rev c work ds ni ai a c0 in_ngamma);
clear in_ngamma.
intros in_ngamma.
apply sound.
apply in_ngamma_cons_work_tail; assumption.
intros eq;  rewrite eq; clear eq c0.
apply der_ab.
apply sound.
apply in_ngamma_cons_work_head.
Qed.

(* Specifications: *)
Lemma nsound_shift_work_ai_strength :
forall (i : Int) (bs work : nf_list) (ds : disjs)
(ni : nested_imps) (ai ai' : atomic_imps) (a a' : atoms)
(context : flist),
EQUIV_INS unit i (fun _ : unit => tt) tt a a' ->
LOOKUP nf_list i ai bs ->
EQUIV_DEL nf_list i ai ai' ->
nsound work ds ni ai a' context -> nsound (bs ++ work) ds ni ai' a' context.