]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_content/cicNotationPt.ml
parameter sintax added to axiom statement
[helm.git] / helm / software / components / acic_content / cicNotationPt.ml
index 3c96a5a512ac7d1bd49b94ff9ab79cf373b9d0b9..731a2ba7436f70b6c21f7b05ab0e0274118f9071 100644 (file)
@@ -29,7 +29,8 @@
 
 type binder_kind = [ `Lambda | `Pi | `Exists | `Forall ]
 type induction_kind = [ `Inductive | `CoInductive ]
-type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp of CicUniv.universe | `NType of string]
+type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp of
+CicUniv.universe | `NType of string |`NCProp of string]
 type fold_kind = [ `Left | `Right ]
 
 type location = Stdpp.location
@@ -62,7 +63,7 @@ type 'term capture_variable = 'term * 'term option
 
 (** To be increased each time the term type below changes, used for "safe"
  * marshalling *)
-let magic = 5
+let magic = 6
 
 type term =
   (* CIC AST *)
@@ -82,7 +83,7 @@ type term =
       (* literal, substitutions.
       * Some [] -> user has given an empty explicit substitution list 
       * None -> user has given no explicit substitution list *)
-  | Implicit
+  | Implicit of [`Vector | `JustOne | `Tagged of string]
   | Meta of int * meta_subst list
   | Num of string * int (* literal, instance *)
   | Sort of sort_kind
@@ -91,6 +92,9 @@ type term =
   | UserInput (* place holder for user input, used by MatitaConsole, not to be
               used elsewhere *)
   | Uri of string * subst list option (* as Ident, for long names *)
+  | NRef of NReference.reference
+
+  | NCic of NCic.term
 
   (* Syntax pattern extensions *)
 
@@ -122,12 +126,14 @@ and layout_pattern =
   | InfRule of term * term * term
 (*   | array of term * literal option * literal option
       |+ column separator, row separator +| *)
+  | Maction of term list
   | Sqrt of term
   | Root of term * term (* argument, index *)
   | Break
   | Box of box_spec * term list
   | Group of term list
   | Mstyle of (string * string) list * term list
+  | Mpadded of (string * string) list * term list
 
 and magic_term =
   (* level 1 magics *)
@@ -161,6 +167,7 @@ type argument_pattern =
 
 type cic_appl_pattern =
   | UriPattern of UriManager.uri
+  | NRefPattern of NReference.reference
   | VarPattern of string
   | ImplicitPattern
   | ApplPattern of cic_appl_pattern list
@@ -172,7 +179,7 @@ type 'term inductive_type = string * bool * 'term * (string * 'term) list
 type 'term obj =
   | Inductive of 'term capture_variable list * 'term inductive_type list
       (** parameters, list of loc * mutual inductive types *)
-  | Theorem of Cic.object_flavour * string * 'term * 'term option
+  | Theorem of Cic.object_flavour * string * 'term * 'term option * NCic.def_pragma
       (** flavour, name, type, body
        * - name is absent when an unnamed theorem is being proved, tipically in
        *   interactive usage