]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/tactics/auto.mli
run check_if_goal_is_solved on all goals (active+passive)
[helm.git] / helm / software / components / tactics / auto.mli
index eb612ac3a05221fdbe59be4f1deb1239f414fcc8..c8a9224cb9fec6266e1388a469e0ebcf23645a39 100644 (file)
  * http://cs.unibo.it/helm/.
  *)
 
-(* stops at the first solution *)
+type auto_params = Cic.term list * (string * string) list 
+
 val auto_tac:
   dbd:HSql.dbd -> 
-  params:(string * string) list -> 
-  universe:Universe.universe ->
+  params:auto_params ->
+  automation_cache:AutomationCache.cache ->
   ProofEngineTypes.tactic
 
 val applyS_tac:
   dbd:HSql.dbd -> 
   term: Cic.term -> 
-  params:(string * string) list ->
-  universe:Universe.universe ->
+  params:auto_params ->
+  automation_cache:AutomationCache.cache ->
   ProofEngineTypes.tactic
 
 val demodulate_tac : 
   dbd:HSql.dbd -> 
-  universe:Universe.universe ->
+  params:auto_params ->
+  automation_cache:AutomationCache.cache ->
   ProofEngineTypes.tactic
 
+val demodulate_theorem : 
+  automation_cache:AutomationCache.cache -> 
+  UriManager.uri -> 
+  Cic.term * Cic.term
+
 type auto_status = 
-  Cic.context * (int * Cic.term * bool * int * (int * Cic.term) list) list * 
+  Cic.context * 
+  (* or list: goalno, goaltype, grey, depth, candidates: (goalno, c) *)
+  (int * Cic.term * bool * int * (int * Cic.term Lazy.t) list) list * 
+  (* and list *)
   (int * Cic.term * int) list *
-  Cic.term list
+  (* last moves *)
+  Cic.term Lazy.t list
+
 val get_auto_status : unit -> auto_status
 val pause: bool -> unit
 val step : unit -> unit
 val give_hint : int -> unit
+val give_prune_hint : int -> unit
 
 val lambda_close : 
-  ?prefix_name:string -> Cic.term -> Cic.metasenv -> Cic.context -> Cic.term
+  ?prefix_name:string -> Cic.term -> Cic.metasenv -> Cic.context -> Cic.term *
+  int
 
 val pp_proofterm: Cic.term -> string 
+val revision : string (* svn revision *)
+val size_and_depth : Cic.context -> Cic.metasenv -> Cic.term -> int * int