diff options
| -rw-r--r-- | tactics/class_tactics.ml | 9 | ||||
| -rw-r--r-- | tactics/class_tactics.mli | 3 |
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 -> |
