]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/tactics/tactics.mli
ocaml 3.09 transition
[helm.git] / helm / ocaml / tactics / tactics.mli
index c4c1a32e43572c272d585629ab0f93149319c943..6d524093569a91663c8f57ec091286a756e31350 100644 (file)
@@ -4,8 +4,12 @@ val apply : term:Cic.term -> ProofEngineTypes.tactic
 val assumption : ProofEngineTypes.tactic
 val auto :
   ?depth:int ->
-  ?width:int -> dbd:Mysql.dbd -> unit -> ProofEngineTypes.tactic
-val change : what:Cic.term -> with_what:Cic.term -> ProofEngineTypes.tactic
+  ?width:int ->
+  ?paramodulation:string ->
+  ?full:string -> dbd:HMysql.dbd -> unit -> ProofEngineTypes.tactic
+val change :
+  pattern:ProofEngineTypes.pattern ->
+  ProofEngineTypes.lazy_term -> ProofEngineTypes.tactic
 val clear : hyp:string -> ProofEngineTypes.tactic
 val clearbody : hyp:string -> ProofEngineTypes.tactic
 val compare : term:Cic.term -> ProofEngineTypes.tactic
@@ -16,29 +20,33 @@ val cut :
   Cic.term -> ProofEngineTypes.tactic
 val decide_equality : ProofEngineTypes.tactic
 val decompose :
-  ?uris_choice_callback:((UriManager.uri * int *
-                          (UriManager.uri * Cic.term) list)
-                         list ->
-                         (UriManager.uri * int *
-                          (UriManager.uri * Cic.term) list)
-                         list) ->
-  Cic.term -> ProofEngineTypes.tactic
+  ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
+  ?user_types:(UriManager.uri * int) list ->
+  dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic
 val discriminate : term:Cic.term -> ProofEngineTypes.tactic
-val elim_intros : term:Cic.term -> ProofEngineTypes.tactic
-val elim_intros_simpl : term:Cic.term -> ProofEngineTypes.tactic
-val elim_type : term:Cic.term -> ProofEngineTypes.tactic
+val elim_intros :
+  ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
+  ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic
+val elim_intros_simpl :
+  ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
+  ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic
+val elim_type :
+  ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
+  ?depth:int -> ?using:Cic.term -> Cic.term -> ProofEngineTypes.tactic
 val exact : term:Cic.term -> ProofEngineTypes.tactic
 val exists : ProofEngineTypes.tactic
 val fail : ProofEngineTypes.tactic
 val fold :
-  reduction:(Cic.context -> Cic.term -> Cic.term) ->
-  pattern:ProofEngineTypes.pattern ->
-  term:Cic.term -> ProofEngineTypes.tactic
+  reduction:ProofEngineTypes.lazy_reduction ->
+  term:ProofEngineTypes.lazy_term ->
+  pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic
 val fourier : ProofEngineTypes.tactic
-val fwd_simpl : what:Cic.term -> dbd:Mysql.dbd -> ProofEngineTypes.tactic
+val fwd_simpl :
+  ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
+  dbd:HMysql.dbd -> string -> ProofEngineTypes.tactic
 val generalize :
   ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
-  term:Cic.term -> ProofEngineTypes.pattern -> ProofEngineTypes.tactic
+  ProofEngineTypes.pattern -> ProofEngineTypes.tactic
 val id : ProofEngineTypes.tactic
 val injection : term:Cic.term -> ProofEngineTypes.tactic
 val intros :
@@ -47,7 +55,8 @@ val intros :
   unit -> ProofEngineTypes.tactic
 val lapply :
   ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
-  ?to_what:Cic.term -> Cic.term -> ProofEngineTypes.tactic
+  ?how_many:int ->
+  ?to_what:Cic.term list -> Cic.term -> ProofEngineTypes.tactic
 val left : ProofEngineTypes.tactic
 val letin :
   ?mk_fresh_name_callback:ProofEngineTypes.mk_fresh_name_type ->
@@ -57,19 +66,13 @@ val reduce : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic
 val reflexivity : ProofEngineTypes.tactic
 val replace :
   pattern:ProofEngineTypes.pattern ->
-  with_what:Cic.term -> ProofEngineTypes.tactic
+  with_what:ProofEngineTypes.lazy_term -> ProofEngineTypes.tactic
 val rewrite :
-  ?where:ProofEngineTypes.pattern ->
-  term:Cic.term -> unit -> ProofEngineTypes.tactic
-val rewrite_back :
-  ?where:ProofEngineTypes.pattern ->
-  term:Cic.term -> unit -> ProofEngineTypes.tactic
-val rewrite_back_simpl :
-  ?where:ProofEngineTypes.pattern ->
-  term:Cic.term -> unit -> ProofEngineTypes.tactic
+  direction:[ `LeftToRight | `RightToLeft ] ->
+  pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic
 val rewrite_simpl :
-  ?where:ProofEngineTypes.pattern ->
-  term:Cic.term -> unit -> ProofEngineTypes.tactic
+  direction:[ `LeftToRight | `RightToLeft ] ->
+  pattern:ProofEngineTypes.pattern -> Cic.term -> ProofEngineTypes.tactic
 val right : ProofEngineTypes.tactic
 val ring : ProofEngineTypes.tactic
 val set_goal : int -> ProofEngineTypes.tactic
@@ -77,4 +80,7 @@ val simpl : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic
 val split : ProofEngineTypes.tactic
 val symmetry : ProofEngineTypes.tactic
 val transitivity : term:Cic.term -> ProofEngineTypes.tactic
+val unfold :
+  ProofEngineTypes.lazy_term option ->
+  pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic
 val whd : pattern:ProofEngineTypes.pattern -> ProofEngineTypes.tactic