]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_acic/cic2acic.ml
Bug fixed in computation of the domain of records with left parameters.
[helm.git] / helm / ocaml / cic_acic / cic2acic.ml
index 1cdabc09fe673dd8ca222b5e376772612318e255..8540e0e6492fb4c15c3026e38f47c94b38e52202 100644 (file)
@@ -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 ->