package coq
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=583471c8ed4f227cb374ee8a13a769c46579313d407db67a82d202ee48300e4b
doc/coq-core.tactics/Hints/index.html
Module HintsSource
General functions.
val decompose_app_bound :
Evd.evar_map ->
EConstr.constr ->
Names.GlobRef.t * EConstr.constr arrayPre-created hint databases
type 'a hint_ast = | Res_pf of 'a| ERes_pf of 'a| Give_exact of 'a| Res_pf_THEN_trivial_fail of 'a| Unfold_nth of Tacred.evaluable_global_reference| Extern of Pattern.constr_pattern option * Genarg.glob_generic_argument
The head may not be bound.
type 'a hints_path_gen = | PathAtom of 'a hints_path_atom_gen| PathStar of 'a hints_path_gen| PathSeq of 'a hints_path_gen * 'a hints_path_gen| PathOr of 'a hints_path_gen * 'a hints_path_gen| PathEmpty| PathEpsilon
val glob_hints_path_atom :
Libnames.qualid hints_path_atom_gen ->
Names.GlobRef.t hints_path_atom_gentype hints_entry = | HintsResolveEntry of (Typeclasses.hint_info * hnf * hints_path_atom * hint_term) list| HintsImmediateEntry of (hints_path_atom * hint_term) list| HintsCutEntry of hints_path| HintsUnfoldEntry of Tacred.evaluable_global_reference list| HintsTransparencyEntry of Tacred.evaluable_global_reference hints_transparency_target * bool| HintsModeEntry of Names.GlobRef.t * hint_mode list| HintsExternEntry of Typeclasses.hint_info * Genarg.glob_generic_argument
Warns
create_hint_db local name st use_dn. st is a transparency state for unification using this db use_dn switches the use of the discrimination net for all hints and patterns.
val remove_hints :
locality:hint_locality ->
hint_db_name list ->
Names.GlobRef.t list ->
unitA constr which is Hint'ed will be:
- (1) used as an Exact, if it does not start with a product
- (2) used as an Apply, if its HNF starts with a product, and has no missing arguments.
- (3) used as an EApply, if its HNF starts with a product, and has missing arguments.
push_resolve_hyp hname htyp db. used to add an hypothesis to the local hint database; Never raises a user exception; If the hyp cannot be used as a Hint, it is not added.
Create a Hint database from the pairs (name, constr). Useful to take the current goal hypotheses as hints; Boolean tells if lemmas with evars are allowed
val make_local_hint_db :
Environ.env ->
Evd.evar_map ->
?ts:TransparentState.t ->
bool ->
Tactypes.delayed_open_constr list ->
hint_dbUse around toplevel calls to hint-using tactics, to enable the tracking of non-imported hints. Any tactic calling run_hint must be wrapped this way.
val wrap_hint_warning_fun :
Environ.env ->
Evd.evar_map ->
(Evd.evar_map -> 'a * Evd.evar_map) ->
'a * Evd.evar_mapVariant of the above for non-tactics
val hint_res_pf :
?with_evars:bool ->
?with_classes:bool ->
?flags:Unification.unify_flags ->
hint ->
unit Proofview.tacticPrinting hints