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


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

(* Specifications: *)
Lemma vlist_eq : forall gamma : flist, gamma = vlist2list (list2vlist gamma).
Lemma search_goal_invariant : forall (goal : form) (gamma : flist) (work : nf_list) (context : flist) (j : Int), search_spec goal gamma work context j.