diff options
| author | Matthieu Sozeau | 2016-10-26 18:31:03 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2016-11-03 16:26:39 +0100 |
| commit | b57c7005d81b35b2ae6c45e6ac3088a73b3c43b2 (patch) | |
| tree | f62902bf21e7b59a4a544baa0ce990fb16223807 | |
| parent | d6fe6773c959493ed97108e1032b1bd8c1e78081 (diff) | |
Fix Typeclasses eauto := bfs.
| -rw-r--r-- | ltac/g_class.ml4 | 13 | ||||
| -rw-r--r-- | tactics/class_tactics.ml | 6 | ||||
| -rw-r--r-- | tactics/class_tactics.mli | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/ltac/g_class.ml4 b/ltac/g_class.ml4 index 18df596eb8..1adf197d6b 100644 --- a/ltac/g_class.ml4 +++ b/ltac/g_class.ml4 @@ -44,11 +44,22 @@ ARGUMENT EXTEND debug TYPED AS bool PRINTED BY pr_debug | [ ] -> [ false ] END +let pr_search_strategy _prc _prlc _prt = function + | Dfs -> Pp.str "dfs" + | Bfs -> Pp.str "bfs" + +ARGUMENT EXTEND eauto_search_strategy PRINTED BY pr_search_strategy +| [ "bfs" ] -> [ Bfs ] +| [ "dfs" ] -> [ Dfs ] +| [ ] -> [ Dfs ] +END + (* true = All transparent, false = Opaque if possible *) VERNAC COMMAND EXTEND Typeclasses_Settings CLASSIFIED AS SIDEFF - | [ "Typeclasses" "eauto" ":=" debug(d) int_opt(depth) ] -> [ + | [ "Typeclasses" "eauto" ":=" debug(d) eauto_search_strategy(s) int_opt(depth) ] -> [ set_typeclasses_debug d; + set_typeclasses_strategy s; set_typeclasses_depth depth ] END diff --git a/tactics/class_tactics.ml b/tactics/class_tactics.ml index da91674f5d..c1ba645beb 100644 --- a/tactics/class_tactics.ml +++ b/tactics/class_tactics.ml @@ -181,6 +181,12 @@ let set_typeclasses_depth = optread = get_typeclasses_depth; optwrite = set_typeclasses_depth; } +type search_strategy = Dfs | Bfs + +let set_typeclasses_strategy = function + | Dfs -> set_typeclasses_iterative_deepening true + | Bfs -> set_typeclasses_iterative_deepening false + let pr_ev evs ev = Printer.pr_constr_env (Goal.V82.env evs ev) evs (Evarutil.nf_evar evs (Goal.V82.concl evs ev)) diff --git a/tactics/class_tactics.mli b/tactics/class_tactics.mli index 8db264ad95..565415a95e 100644 --- a/tactics/class_tactics.mli +++ b/tactics/class_tactics.mli @@ -20,6 +20,10 @@ val get_typeclasses_debug : unit -> bool val set_typeclasses_depth : int option -> unit val get_typeclasses_depth : unit -> int option +type search_strategy = Dfs | Bfs + +val set_typeclasses_strategy : search_strategy -> unit + val typeclasses_eauto : ?only_classes:bool -> ?st:transparent_state -> depth:(Int.t option) -> Hints.hint_db_name list -> unit Proofview.tactic |
