]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/acic_content/cicNotationPt.ml
Procedural: explicit flavour specification for constants is now working
[helm.git] / helm / software / components / acic_content / cicNotationPt.ml
index 1ca5148105e2ec90c3ce8956b3b4413351ca6016..c7659018127aed95d660f9a23d9a5dd19674336a 100644 (file)
@@ -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 = 5
 
 type term =
   (* CIC AST *)
@@ -119,6 +119,7 @@ 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 +| *)
   | Sqrt of term
@@ -126,6 +127,7 @@ and layout_pattern =
   | Break
   | Box of box_spec * term list
   | Group of term list
+  | Mstyle of (string * string) list * term list
 
 and magic_term =
   (* level 1 magics *)
@@ -140,11 +142,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