X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCic.ml;h=4fd950af0f80c51d0be583080a04993dad576a05;hb=8da8820a77f2104dd1bf17c01fa77f75ee31c8fb;hp=961c84cfaa8394da488e73bfeb9ea0b72eac2514;hpb=cf3c2f9d76c0483afc91ad89c0ae2517081ce912;p=helm.git diff --git a/helm/software/components/ng_kernel/nCic.ml b/helm/software/components/ng_kernel/nCic.ml index 961c84cfa..4fd950af0 100644 --- a/helm/software/components/ng_kernel/nCic.ml +++ b/helm/software/components/ng_kernel/nCic.ml @@ -63,7 +63,9 @@ type conjecture = int * string option * context * term type metasenv = conjecture list -type substitution = (int * (string option * context * term * term)) list +type subst_entry = string option * context * term * term + +type substitution = (int * subst_entry) list (******************************** OBJECTS **********************************) @@ -88,10 +90,11 @@ type def_pragma = (* pragmatic of the object *) | `Projection (* record projection *) | `InversionPrinciple (* inversion principle *) | `Variant - | `Local ] (* Local = hidden technicality *) + | `Local + | `Regular ] (* Local = hidden technicality *) type ind_pragma = (* pragmatic of the object *) - [ `Record of (string * bool * int) list ] + [ `Record of (string * bool * int) list | `Regular ] (* inductive type that encodes a record; the arguments are the record * fields names and if they are coercions and then the coercion arity *) @@ -105,7 +108,9 @@ type i_attr = generated * ind_pragma type obj_kind = | Constant of relevance * string * term option * term * c_attr | Fixpoint of bool * inductiveFun list * f_attr + (* true -> fix, funcs, arrts *) | Inductive of bool * int * inductiveType list * i_attr - (* (co)inductive, leftno, types *) + (* true -> inductive, leftno, types *) + (* the int must be 0 if the object has no body *) type obj = NUri.uri * int * metasenv * substitution * obj_kind