]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/cic_proof_checking/cicReduction.ml
"Performance bug" fixed: I removed a whd in the does_not_occur function.
[helm.git] / helm / software / components / cic_proof_checking / cicReduction.ml
index 5a638b5f763dff99df786eda8413678bfa3c1c9e..18259a00441873ea85ea755e3a06e891de291872 100644 (file)
@@ -357,7 +357,7 @@ module Reduction(RS : Strategy) =
            let d =
             try
              Some (RS.from_env_for_unwind ~unwind (List.nth e (n-m-1)))
-            with _ -> None
+            with Failure _ -> None
            in
             (match d with 
                 Some t' ->
@@ -639,7 +639,7 @@ if List.mem uri params then debug_print (lazy "---- OK2") ;
         in
          (match decofix (reduce (k,e,ens,term,[])) with
              (k', e', ens', C.MutConstruct (_,_,j,_), []) ->
-              reduce (k, e, ens, (List.nth pl (j-1)), [])
+              reduce (k, e, ens, (List.nth pl (j-1)), s)
            | (k', e', ens', C.MutConstruct (_,_,j,_), s') ->
               let (arity, r) =
                 let o,_ = 
@@ -682,7 +682,7 @@ if List.mem uri params then debug_print (lazy "---- OK2") ;
           try
            Some (RS.from_stack (List.nth s recindex))
           with
-           _ -> None
+           Failure _ -> None
          in
           (match recparam with
               Some recparam ->
@@ -969,8 +969,8 @@ let are_convertible whd ?(subst=[]) ?(metasenv=[])  =
     end
   in
    debug t1 [t2] "PREWHD";
-   let t1' = whd ~delta:true ~subst context t1 in
-   let t2' = whd ~delta:true ~subst context t2 in
+   let t1' = whd ?delta:(Some true) ?subst:(Some subst) context t1 in
+   let t2' = whd ?delta:(Some true) ?subst:(Some subst) context t2 in
     debug t1' [t2'] "POSTWHD";
     aux2 test_equality_only t1' t2' ugraph
  in