]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/cic_acic/cic2acic.ml
abstracted pretty printers over inner pretty printing units (terms, lazy terms, and...
[helm.git] / helm / ocaml / cic_acic / cic2acic.ml
index 1cdabc09fe673dd8ca222b5e376772612318e255..79d9bd0da960bb21916897b44b89a080885bbb9a 100644 (file)
@@ -118,7 +118,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 +157,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 +400,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 ->