X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fcomponents%2Fcontent%2FnotationPt.ml;h=c718a20ba9ebff726ed2556a227dfdfea1df0c92;hb=0bcf2dc1a27e38cb6cd3d44eb838d652926841e0;hp=cead5e7ae8eda28cc6ec9d5fc8262b522ae6f3b6;hpb=f6b7c6ae353e014761a3d24dbc87e00d828d7f2d;p=helm.git diff --git a/matita/components/content/notationPt.ml b/matita/components/content/notationPt.ml index cead5e7ae..c718a20ba 100644 --- a/matita/components/content/notationPt.ml +++ b/matita/components/content/notationPt.ml @@ -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 = 6 +let magic = 8 type term = (* CIC AST *) @@ -76,8 +76,6 @@ type term = (* what to match, inductive type, out type, list *) | Cast of term * term | LetIn of term capture_variable * term * term (* name, body, where *) - | LetRec of induction_kind * (term capture_variable list * term capture_variable * term * int) list * term - (* (params, name, body, decreasing arg) list, where *) | Ident of string * subst list option (* literal, substitutions. * Some [] -> user has given an empty explicit substitution list @@ -175,18 +173,20 @@ type cic_appl_pattern = type 'term inductive_type = string * bool * 'term * (string * 'term) list type 'term obj = - | Inductive of 'term capture_variable list * 'term inductive_type list + | Inductive of 'term capture_variable list * 'term inductive_type list * NCic.source (** parameters, list of loc * mutual inductive types *) - | Theorem of NCic.def_flavour * string * 'term * 'term option * NCic.def_pragma - (** flavour, name, type, body + | Theorem of string * 'term * 'term option * NCic.c_attr + (** name, type, body, attributes * - name is absent when an unnamed theorem is being proved, tipically in * interactive usage * - body is present when its given along with the command, otherwise it * will be given in proof editing mode using the tactical language, * unless the flavour is an Axiom *) - | Record of 'term capture_variable list * string * 'term * (string * 'term * bool * int) list + | Record of 'term capture_variable list * string * 'term * (string * 'term * bool * int) list * NCic.source (** left parameters, name, type, fields *) + | LetRec of induction_kind * ('term capture_variable list * 'term capture_variable * 'term * int) list * NCic.f_attr + (* (params, name, body, decreasing arg) list, attributes *) (** {2 Standard precedences} *) @@ -194,4 +194,3 @@ let let_in_prec = 10 let binder_prec = 20 let apply_prec = 70 let simple_prec = 90 -