]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/grafite/grafiteAst.ml
Implementation of ndestruct tactic (including destruction of constructor forms
[helm.git] / helm / software / components / grafite / grafiteAst.ml
index 0cfdef148ced4dfbae84f8d5f0199516cc86e7a3..7754102c6ac36052b936d875e26985c188071a4f 100644 (file)
@@ -57,6 +57,9 @@ type ntactic =
    | NChange of loc * npattern * CicNotationPt.term
    | NConstructor of loc * int option * CicNotationPt.term list
    | NCut of loc * CicNotationPt.term
+(* | NDiscriminate of loc * CicNotationPt.term
+   | NSubst of loc * CicNotationPt.term *)
+   | NDestruct of loc
    | NElim of loc * CicNotationPt.term * npattern  
    | NGeneralize of loc * npattern
    | NId of loc
@@ -71,6 +74,7 @@ type ntactic =
    | NBranch of loc
    | NShift of loc
    | NPos of loc * int list
+   | NPosbyname of loc * string
    | NWildcard of loc
    | NMerge of loc
    | NSkip of loc
@@ -197,7 +201,7 @@ type nmacro =
 
 (** To be increased each time the command type below changes, used for "safe"
  * marshalling *)
-let magic = 30
+let magic = 33
 
 type ('term,'obj) command =
   | Index of loc * 'term option (* key *) * UriManager.uri (* value *)
@@ -220,6 +224,7 @@ type ('term,'obj) command =
 type ncommand =
   | UnificationHint of loc * CicNotationPt.term * int (* term, precedence *)
   | NObj of loc * CicNotationPt.term CicNotationPt.obj
+  | NDiscriminator of loc * CicNotationPt.term
   | NInverter of loc * string * CicNotationPt.term * bool list option * CicNotationPt.term option
   | NUnivConstraint of loc * NUri.uri * NUri.uri
   | NCopy of loc * string * NUri.uri * (NUri.uri * NUri.uri) list