aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tactics/class_tactics.ml9
-rw-r--r--tactics/class_tactics.mli3
2 files changed, 10 insertions, 2 deletions
diff --git a/tactics/class_tactics.ml b/tactics/class_tactics.ml
index fe12b54a13..5d5511d78f 100644
--- a/tactics/class_tactics.ml
+++ b/tactics/class_tactics.ml
@@ -1288,11 +1288,16 @@ module Search = struct
tclCASE (with_shelf tac) >>= casefn
let eauto_tac ?(st=full_transparent_state) ?(unique=false)
- ~only_classes ~depth ~dep hints =
+ ~only_classes ?dfs ~depth ~dep hints =
let open Proofview in
let tac =
let search = search_tac ~st only_classes dep hints in
- if get_typeclasses_iterative_deepening () then
+ let bfs =
+ match dfs with
+ | None -> get_typeclasses_iterative_deepening ()
+ | Some v -> v
+ in
+ if bfs then
match depth with
| None -> fix_iterative search
| Some l -> fix_iterative_limit l search
diff --git a/tactics/class_tactics.mli b/tactics/class_tactics.mli
index 21c5d2172b..1b2fa035bd 100644
--- a/tactics/class_tactics.mli
+++ b/tactics/class_tactics.mli
@@ -44,6 +44,9 @@ module Search : sig
(** Should we force a unique solution *)
only_classes:bool ->
(** Should non-class goals be shelved and resolved at the end *)
+ ?dfs:bool ->
+ (** Is a traversing-strategy specified?
+ If yes, true means dfs, false means bfs, i.e iterative deepening *)
depth:Int.t option ->
(** Bounded or unbounded search *)
dep:bool ->