X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=components%2Ftactics%2Fauto.ml;h=6a1ab20e6b798a4153720d54c1a5d6f1804dfbeb;hb=8e7751f97e50bdc18537aac7478d0621d45ab956;hp=b9ce25174edefc00c876253864f9172b52933507;hpb=fbfc3e402894a89b22f57e12b53e090f843a690a;p=helm.git diff --git a/components/tactics/auto.ml b/components/tactics/auto.ml index b9ce25174..6a1ab20e6 100644 --- a/components/tactics/auto.ml +++ b/components/tactics/auto.ml @@ -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 =