X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Fsoftware%2Fcomponents%2Facic_content%2FcicNotationPt.ml;h=4e9da0424a8a6d7a9b4cb637b6f0a4f5ed2342b9;hb=63b86fce8a75490b957e7301517b9006f58321b6;hp=7e06fa5e82a722c990f0e021db87474f013bf528;hpb=68f3812e06c04ddd664e86dbfd3a1c32f96a22d1;p=helm.git diff --git a/helm/software/components/acic_content/cicNotationPt.ml b/helm/software/components/acic_content/cicNotationPt.ml index 7e06fa5e8..4e9da0424 100644 --- a/helm/software/components/acic_content/cicNotationPt.ml +++ b/helm/software/components/acic_content/cicNotationPt.ml @@ -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] +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 = 4 +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,7 @@ 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 (* Syntax pattern extensions *) @@ -119,13 +121,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 *) @@ -159,6 +165,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 @@ -170,7 +177,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