package rocq-runtime
Install
dune-project
Dependency
Authors
Maintainers
Sources
md5=8d522602d23e7a665631826dab9aa92b
sha512=f4f76a6a178e421c99ee7a331a2fd97a06e9c5d0168d7e60c44e3820d8e1a124370ea104ad90c7f87a9a1e9d87b2d0d7d2d387c998feeaed4a75ed04e176a4be
doc/rocq-runtime.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 Evaluable.t| 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
type hints_entry = | HintsResolveEntry of (Typeclasses.hint_info * hnf * hint_term) list| HintsImmediateEntry of hint_term list| HintsCutEntry of hints_path| HintsUnfoldEntry of Evaluable.t list| HintsTransparencyEntry of Evaluable.t hints_transparency_target * bool| HintsModeEntry of Names.GlobRef.t * hint_mode list| HintsExternEntry of Typeclasses.hint_info * Genarg.glob_generic_argument
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