X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_acic%2Fcic2acic.ml;h=8540e0e6492fb4c15c3026e38f47c94b38e52202;hb=57d038849d866853795522e360723a881c2d4831;hp=1cdabc09fe673dd8ca222b5e376772612318e255;hpb=9a0e4f3be9f70662f18d2d3b6dd60ae79fba565b;p=helm.git diff --git a/helm/ocaml/cic_acic/cic2acic.ml b/helm/ocaml/cic_acic/cic2acic.ml index 1cdabc09f..8540e0e64 100644 --- a/helm/ocaml/cic_acic/cic2acic.ml +++ b/helm/ocaml/cic_acic/cic2acic.ml @@ -23,6 +23,8 @@ * http://cs.unibo.it/helm/. *) +(* $Id$ *) + type sort_kind = [ `Prop | `Set | `Type of CicUniv.universe | `CProp ] let string_of_sort = function @@ -118,7 +120,7 @@ let acic_of_cic_context' ~computeinnertypes:global_computeinnertypes if global_computeinnertypes then D.double_type_of metasenv context t expectedty else - D.CicHash.empty () + Cic.CicHash.create 1 (* empty table *) in (* let time2 = Sys.time () in @@ -157,7 +159,7 @@ let acic_of_cic_context' ~computeinnertypes:global_computeinnertypes (* *) let {D.synthesized = synthesized; D.expected = expected} = if computeinnertypes then - D.CicHash.find terms_to_types tt + Cic.CicHash.find terms_to_types tt else (* We are already in an inner-type and Coscoy's double *) (* type inference algorithm has not been applied. *) @@ -400,10 +402,14 @@ let aconjecture_of_conjecture seed ids_to_terms ids_to_father_ids match binding with Some (n,Cic.Def (t,_)) -> let acic = acic_of_cic_context ~computeinnertypes context idrefs t None in + Hashtbl.replace ids_to_father_ids (CicUtil.id_of_annterm acic) + (Some hid); (binding::context), ((hid,Some (n,Cic.ADef acic))::acontext),(hid::idrefs) | Some (n,Cic.Decl t) -> let acic = acic_of_cic_context ~computeinnertypes context idrefs t None in + Hashtbl.replace ids_to_father_ids (CicUtil.id_of_annterm acic) + (Some hid); (binding::context), ((hid,Some (n,Cic.ADecl acic))::acontext),(hid::idrefs) | None ->