intros k l.
elim l; clear l.
intros a b c below_abc below_a below_b.
apply below_abc; assumption.
simpl in |- *; intros i l ih a b c below_abc below_a below_b.
apply ih with (a := Imp (Atom i) a) (b := Imp (Atom i) b); try assumption.
intros j' below_ia below_ib.
elim below_ia; clear below_ia; intros below_i below_a0.
elim below_ib; clear below_ib; intros below_i0 below_b0.
split.
assumption.
apply below_abc; assumption.
Qed.

(* Specifications: *)
Lemma below_vimp_head :
forall (j : Int) (l : list Int) (a : form),
below_form (vimp l a) j -> below_form a j.