]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_content/cicNotationPt.ml
- Grammar for all obj commands ported to NG (let recs and inductives still need
[helm.git] / helm / software / components / acic_content / cicNotationPt.ml
index 1ca5148105e2ec90c3ce8956b3b4413351ca6016..3ffa9525808119fcd64a423bb1251feab46ea294 100644 (file)
@@ -29,7 +29,7 @@
 
 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]
+type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp of CicUniv.universe | `NType of string]
 type fold_kind = [ `Left | `Right ]
 
 type location = Stdpp.location
@@ -62,7 +62,7 @@ type 'term capture_variable = 'term * 'term option
 
 (** To be increased each time the term type below changes, used for "safe"
  * marshalling *)
-let magic = 3
+let magic = 6
 
 type term =
   (* CIC AST *)
@@ -119,13 +119,17 @@ and layout_pattern =
   | Frac of term * term
   | Over of term * term
   | Atop of term * term
+  | 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 *)
@@ -140,11 +144,13 @@ and magic_term =
   | Fail
   | If of term * term * term (* test, pattern if true, pattern if false *)
 
+and term_level = Self of int | Level of int
+
 and pattern_variable =
   (* level 1 and 2 variables *)
   | NumVar of string
   | IdentVar of string
-  | TermVar of string * int option
+  | TermVar of string * term_level
 
   (* level 1 variables *)
   | Ascription of term * string