| Absurd of loc * 'term
| Apply of loc * 'term
| Assumption of loc
- | Auto of loc * int option * int option * string option
- (* depth, width, paramodulation *)
+ | Auto of loc * int option * int option * string option * string option
+ (* depth, width, paramodulation, full *) (* ALB *)
| Change of loc * ('term, 'lazy_term, 'ident) pattern * 'lazy_term
| Clear of loc * 'ident
| ClearBody of loc * 'ident
(string * Ast.term) list
(** left parameters, name, type, fields *)
+(** To be increased each time the command type below changes, used for "safe"
+ * marshalling *)
+let magic = 1
+
type ('term,'obj) command =
| Default of loc * string * UriManager.uri list
| Include of loc * string
(* DEBUGGING *)
| Render of loc * UriManager.uri (* render library object *)
+(* composed magic: term + command magics. No need to change this value *)
+let magic = magic + 10000 * CicNotationPt.magic
+
+let reash_cmd_uris =
+ let reash_uri uri = UriManager.uri_of_string (UriManager.string_of_uri uri) in
+ function
+ | Default (loc, name, uris) ->
+ let uris = List.map reash_uri uris in
+ Default (loc, name, uris)
+ | Interpretation (loc, dsc, args, cic_appl_pattern) ->
+ let rec aux =
+ function
+ | CicNotationPt.UriPattern uri ->
+ CicNotationPt.UriPattern (reash_uri uri)
+ | CicNotationPt.ApplPattern args ->
+ CicNotationPt.ApplPattern (List.map aux args)
+ | CicNotationPt.VarPattern _
+ | CicNotationPt.ImplicitPattern as pat -> pat
+ in
+ let appl_pattern = aux cic_appl_pattern in
+ Interpretation (loc, dsc, args, appl_pattern)
+ | cmd -> cmd
+
type ('term, 'lazy_term, 'reduction, 'ident) tactical =
| Tactic of loc * ('term, 'lazy_term, 'reduction, 'ident) tactic
| Do of loc * int * ('term, 'lazy_term, 'reduction, 'ident) tactical
| Executable of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) code
| Comment of loc * ('term, 'lazy_term, 'reduction, 'obj, 'ident) comment
+ (* statements meaningful for matitadep *)
+type dependency =
+ | IncludeDep of string
+ | BaseuriDep of string
+ | UriDep of UriManager.uri
+