Class_tacticsThis files implements typeclasses eauto
val typeclasses_db : Hints.hint_db_nameval check_typeclasses_db : ?loc:Loc.t -> unit -> unitval set_typeclasses_strategy : search_strategy -> unitval 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.tacticval head_of_constr : Names.Id.t -> EConstr.constr -> unit Proofview.tacticval not_evar : EConstr.constr -> unit Proofview.tacticval is_ground : EConstr.constr -> unit Proofview.tacticval autoapply : EConstr.constr -> Hints.hint_db_name -> unit Proofview.tacticval resolve_one_typeclass :
?db:Hints.hint_db ->
Environ.env ->
Evd.evar_map ->
EConstr.types ->
Evd.evar_map * EConstr.constrTries to find a solution for the given type. Raises Not_found it it fails.
val resolve_tc : EConstr.constr -> unit Proofview.tactictype solver = {solver : ?db:Hints.hint_db ->
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 -> boolA tc_solver is made of a solver and a condition telling when the the solver should be executed instead of Rocq's one
val register_solver :
name:CString.Map.key ->
?override:bool ->
tc_solver ->
unitval activate_solver : name:CString.Map.key -> unitval deactivate_solver : name:CString.Map.key -> unitmodule Search : sig ... end