intros i g l; elim l; clear l.
trivial.
simpl in |- *; intros a l ih below_l.
rewrite ih.
rewrite (subst_form_below i g a).
trivial.
apply (below_l a).
left; trivial.
unfold below_list in |- *.
intros b in_l.
apply (below_l b).
right; assumption.
Qed.

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