intros a gamma work c in_gamma0.
elim (in_gamma_cons_gamma_rev (nf2form a) gamma work c in_gamma0);
clear in_gamma0.
intros in_gamma0.
apply in_gamma_cons_work_tail; assumption.
intros eq_c;  rewrite eq_c; clear eq_c c.
apply in_gamma_cons_work_head.
Qed.

Lemma in_gamma_shift_work_gamma :
forall (a : normal_form) (gamma : flist) (work : nf_list) (c : form),
in_gamma gamma (a :: work) c -> in_gamma (nf2form a :: gamma) work c.