PET.mk_tactic (generalize_tac mk_fresh_name_callback terms)
;;
+let set_goal n =
+ ProofEngineTypes.mk_tactic
+ (fun (proof, goal) ->
+ let (_, metasenv, _, _) = proof in
+ if CicUtil.exists_meta n metasenv then
+ (proof, [n])
+ else
+ raise (ProofEngineTypes.Fail ("no such meta: " ^ string_of_int n)))