(********************************************************************)


Fixpoint list2vlist (gamma : flist) : vlist :=
  match gamma with
  | nil => nil (A:=list Int * form)
  | a :: gamma => (nil, a) :: list2vlist gamma
  end.

Lemma search_goal_invariant : forall (goal : form) (gamma : flist) (work : nf_list) (context : flist) (j : Int), search_spec goal gamma work context j.