]> matita.cs.unibo.it Git - helm.git/commitdiff
Avoid confusion for names of proofs put in the applicative context.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 21 Aug 2007 10:18:46 +0000 (10:18 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Tue, 21 Aug 2007 10:18:46 +0000 (10:18 +0000)
helm/software/components/acic_content/acic2content.ml

index 2c51fe7f80331d23c800fdab42fa9dc78e073bd2..b61cb1225e0cf4e9c997657ee9b4f7e87a210fba 100644 (file)
@@ -369,16 +369,19 @@ let infer_dependent ~headless context metasenv = function
 let rec build_subproofs_and_args ?(headless=false) seed context metasenv l ~ids_to_inner_types ~ids_to_inner_sorts =
   let module C = Cic in
   let module K = Content in
-  let rec aux =
+  let rec aux =
     function
       [] -> [],[]
     | (dep, t)::l1 -> 
-       let subproofs,args = aux l1 in
-        if (test_for_lifting t ~ids_to_inner_types ~ids_to_inner_sorts) then
+       let need_lifting =
+        test_for_lifting t ~ids_to_inner_types ~ids_to_inner_sorts in
+       let subproofs,args = aux (n + if need_lifting then 1 else 0) l1 in
+        if need_lifting then
           let new_subproof = 
             acic2content 
               seed context metasenv 
-               ~name:"H" ~ids_to_inner_types ~ids_to_inner_sorts t in
+               ~name:("H" ^ string_of_int n) ~ids_to_inner_types
+               ~ids_to_inner_sorts t in
           let new_arg = 
             K.Premise
               { K.premise_id = gen_id premise_prefix seed;
@@ -444,7 +447,7 @@ let rec build_subproofs_and_args ?(headless=false) seed context metasenv l ~ids_
              | _ -> (K.Term (dep,t))) in
           subproofs,hd::args
   in 
-  match (aux (infer_dependent ~headless context metasenv l)) with
+  match (aux (infer_dependent ~headless context metasenv l)) with
     [p],args -> 
       [{p with K.proof_name = None}], 
         List.map