X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fcic%2Fcic.ml;h=c5a5c1e4079991118daf4110fa7fef1c8a785c62;hb=77d56df4d446307199a9d4e03478260c6c63baf8;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..c5a5c1e40 100644 --- a/helm/software/components/cic/cic.ml +++ b/helm/software/components/cic/cic.ml @@ -62,16 +62,19 @@ type object_flavour = | `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 +237,7 @@ module CicHash = (struct type t = term let equal = (==) - let hash = Hashtbl.hash + let hash = Hashtbl.hash_param 100 1000 end) ;;