X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcic%2Fcic.ml;h=1b02df3f1a12c7367a64a64cdc49fad3f7d1d9c0;hb=fd0b68d4a811f2938bb045a81ad52c3d1f117e99;hp=64825e505dbc717585e0b444cd19e97d1c3762a9;hpb=55b82bd235d82ff7f0a40d980effe1efde1f5073;p=helm.git diff --git a/helm/software/components/cic/cic.ml b/helm/software/components/cic/cic.ml index 64825e505..1b02df3f1 100644 --- a/helm/software/components/cic/cic.ml +++ b/helm/software/components/cic/cic.ml @@ -57,21 +57,25 @@ type name = type object_flavour = [ `Definition + | `MutualDefinition | `Fact | `Lemma | `Remark | `Theorem | `Variant + | `Axiom ] type object_class = - [ `Coercion + [ `Coercion of int | `Elim of sort (** elimination principle; if sort is Type, the universe is * not relevant *) - | `Record of (string * bool) list (** + | `Record of (string * bool * int) list (** inductive type that encodes a record; the arguments are - the record fields names and if they are coercions *) + the record fields names and if they are coercions and + then the coercion arity *) | `Projection (** record projection *) + | `InversionPrinciple (** inversion principle *) ] type attribute = @@ -234,7 +238,7 @@ module CicHash = (struct type t = term let equal = (==) - let hash = Hashtbl.hash + let hash = Hashtbl.hash_param 100 1000 end) ;;