]> matita.cs.unibo.it Git - helm.git/blobdiff - components/tactics/auto.ml
moved to pkg-ocaml-maint
[helm.git] / components / tactics / auto.ml
index b9ce25174edefc00c876253864f9172b52933507..6a1ab20e6b798a4153720d54c1a5d6f1804dfbeb 100644 (file)
@@ -281,7 +281,7 @@ let init_cache_and_tables
            try
              let ty' = unfold context ty in
              if is_an_equality ty' then Some(t,ty') else None
-           with _ -> None) (* catturare l'eccezione giusta di unfold *)
+           with ProofEngineTypes.Fail _ -> None) 
       equations
   in
   let bag = Equality.mk_equality_bag () in
@@ -1300,7 +1300,8 @@ let auto_main tables maxm context flags universe cache elems =
     | (m, s, _, _, [],_)::orlist ->
         (* complete success *)
         Proved (m, s, orlist, tables, cache, maxm)
-    | (m, s, size, don, (D (_,_,T))::todo, fl)::orlist ->
+    | (m, s, size, don, (D (_,_,T))::todo, fl)::orlist 
+      when not flags.AutoTypes.do_types ->
         (* skip since not Prop, don't even check if closed by side-effect *)
         aux tables maxm flags cache ((m, s, size, don, todo, fl)::orlist)
     | (m, s, size, don, (S(g, key, c,minsize) as op)::todo, fl)::orlist ->
@@ -1330,7 +1331,7 @@ let auto_main tables maxm context flags universe cache elems =
         (* timeout *)
         debug_print (lazy ("FAIL: TIMEOUT"));
         Gaveup (tables, cache, maxm)
-    | (m, s, size, don, (D (gno,depth,P as g))::todo, fl)::orlist as status ->
+    | (m, s, size, don, (D (gno,depth,_ as g))::todo, fl)::orlist as status ->
         (* attack g *)
         match calculate_goal_ty g s m with
         | None -> 
@@ -1519,6 +1520,7 @@ let flags_of_params params ?(for_applyS=false) () =
  let width = int "width" ((AutoTypes.default_flags()).AutoTypes.maxwidth) in
  let size = int "size" ((AutoTypes.default_flags()).AutoTypes.maxsize) in
  let gsize = int "gsize" ((AutoTypes.default_flags()).AutoTypes.maxgoalsizefactor) in
+ let do_type = bool "type" false in
  let timeout = int "timeout" 0 in
   { AutoTypes.maxdepth = 
       if use_only_paramod then 2 else depth;
@@ -1537,6 +1539,7 @@ let flags_of_params params ?(for_applyS=false) () =
     AutoTypes.close_more = close_more;
     AutoTypes.dont_cache_failures = false;
     AutoTypes.maxgoalsizefactor = gsize;
+    AutoTypes.do_types = do_type;
   }
 
 let applyS_tac ~dbd ~term ~params ~universe =