Class_tactics
This files implements typeclasses eauto
val set_typeclasses_strategy : search_strategy -> unit
val typeclasses_eauto : ?only_classes:bool -> ?best_effort:bool -> ?st:TransparentState.t ->
?strategy:search_strategy -> depth:Int.t option -> Hints.hint_db_name list -> unit Proofview.tactic
val head_of_constr : Names.Id.t -> EConstr.constr -> unit Proofview.tactic
val not_evar : EConstr.constr -> unit Proofview.tactic
val is_ground : EConstr.constr -> unit Proofview.tactic
val autoapply : EConstr.constr -> Hints.hint_db_name -> unit Proofview.tactic
val resolve_tc : EConstr.constr -> unit Proofview.tactic
type solver = {
solver : Environ.env -> Evd.evar_map -> depth:int option -> unique:bool -> best_effort:bool -> goals:Evar.t list ->
bool * Evd.evar_map; |
}
type condition = Environ.env -> Evd.evar_map -> Evar.Set.t -> bool
A tc_solver is made of a solver and a condition telling when the the solver should be executed instead of coq's one
val register_solver : name:CString.Map.key -> ?override:bool -> tc_solver -> unit
val activate_solver : name:CString.Map.key -> unit
val deactivate_solver : name:CString.Map.key -> unit
module Search : sig ... end