intros l; elim l; clear l.
intros a; exists a; trivial.
intros i l ih a.
elim (ih (AImp i a)); clear ih.
intros b nf_b.
exists b; assumption.
Qed.

Lemma vimp2nvimp :
forall (l : list Int) (a : normal_form), {b : normal_form | b = nvimp l a}.