| `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
* - 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