]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_transformations/tacticAst.ml
debian: rebuilt against ocaml 3.08.3
[helm.git] / helm / ocaml / cic_transformations / tacticAst.ml
index 112d87b703860975b38f7626842f59bda7522a82..eae88a14d279ee8852ff13963950f1fd43a69777 100644 (file)
@@ -84,16 +84,29 @@ type thm_flavour =
   | `Theorem
   ]
 
+  (** <name, inductive/coinductive, type, constructor list>
+  * true means inductive, false coinductive *)
+type 'term inductive_type = string * bool * 'term * (string * 'term) list
+
+type search_kind = [ `Locate | `Hint | `Match | `Elim ]
+
+type print_kind = [ `Env | `Coer ]
+
 type 'term command =
   | Abort
   | Baseuri of string option (** get/set base uri *)
-  | Check of 'term
+  | Basedir of string option (** get/set base dir *)
+  | Check of 'term 
+  | Search_pat of search_kind * string  (* searches with string pattern *)
+  | Search_term of search_kind * 'term  (* searches with term pattern *)
   | Proof
   | Qed of string option
       (** name.
        * Name is needed when theorem was started without providing a name
        *)
   | Quit
+  | Inductive of (string * 'term) list * 'term inductive_type list
+      (** parameters, list of mutual inductive types *)
   | Theorem of thm_flavour * string option * 'term * 'term option
       (** flavour, name, type, body
        * - name is absent when an unnamed theorem is being proved, tipically in
@@ -101,8 +114,10 @@ type 'term command =
        * - body is present when its given along with the command, otherwise it
        *   will be given in proof editing mode using the tactical language
        *)
+  | Coercion of 'term
   | Redo of int option
   | Undo of int option
+  | Print of print_kind
 
 type ('term, 'ident) tactical =
   | LocatedTactical of CicAst.location * ('term, 'ident) tactical