intro.
induction l as [| a l Hrecl].
intros.
elim H.
intros.
induction H as [H| H].
simpl in |- *.
rewrite H.
unfold not in |- *; intros.
elim (In_list_remove2 _ _ _ _ _ H0).
auto.
simpl in |- *.
unfold not in |- *.
intros.
assert
(In v
(freeVarFormula
(list_rec (fun _ => fol.Formula L) x
(fun (a : nat) (_ : list nat) (rec : fol.Formula L) =>
forallH a rec) l))).
eapply In_list_remove1.
apply H0.
apply (Hrecl _ _ H H1).
Qed.

(* Specifications: *)
Lemma freeVarClosedList2 :
forall (l : list nat) (v : nat) (x : fol.Formula L),
In v (freeVarFormula (closeList l x)) -> In v (freeVarFormula x).