package coq
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=513e953b7183d478acb75fd6e80e4dc32ac1a918cf4343ac31a859cfb4e9aad2
doc/ltac_plugin/Ltac_plugin/Tactic_debug/index.html
Module Ltac_plugin.Tactic_debug
Source
TODO: Move those definitions somewhere sensible
This module intends to be a beginning of debugger for tactic expressions. Currently, it is quite simple and we can hope to have, in the future, a more complete panel of commands dedicated to a proof assistant framework
Debug information
val debug_prompt :
int ->
Tacexpr.glob_tactic_expr ->
(debug_info -> 'a Proofview.tactic) ->
Geninterp.Val.t Names.Id.Map.t ->
Tacexpr.ltac_trace option ->
'a Proofview.tactic
Prints the state and waits
Initializes debugger
val db_constr :
debug_info ->
Environ.env ->
Evd.evar_map ->
EConstr.constr ->
unit Proofview.NonLogical.t
Prints a constr
val db_pattern_rule :
debug_info ->
Environ.env ->
Evd.evar_map ->
int ->
(Genintern.glob_constr_and_expr * Pattern.constr_pattern,
Tacexpr.glob_tactic_expr)
Tacexpr.match_rule ->
unit Proofview.NonLogical.t
Prints the pattern rule
val db_matched_hyp :
debug_info ->
Environ.env ->
Evd.evar_map ->
(Names.Id.t * EConstr.constr option * EConstr.constr) ->
Names.Name.t ->
unit Proofview.NonLogical.t
Prints a matched hypothesis
val db_matched_concl :
debug_info ->
Environ.env ->
Evd.evar_map ->
EConstr.constr ->
unit Proofview.NonLogical.t
Prints the matched conclusion
Prints a success message when the goal has been matched
val db_hyp_pattern_failure :
debug_info ->
Environ.env ->
Evd.evar_map ->
(Names.Name.t * Pattern.constr_pattern Tacexpr.match_pattern) ->
unit Proofview.NonLogical.t
Prints a failure message for an hypothesis pattern
Prints a matching failure message for a rule
Prints an evaluation failure message for a rule
For use in the Ltac debugger: some exception that are usually consider anomalies are acceptable because they are caught later in the process that is being debugged. One should not require from users that they report these anomalies.
Prints a logic failure message for a rule
val db_breakpoint :
debug_info ->
Names.lident Tacexpr.message_token list ->
unit Proofview.NonLogical.t
Check for/process idtac breakpoint
Prints a message only if debugger stops at the next step
Push a trace chunk (multiple frames) onto the trace chunk stack
Pop a trace chunk (multiple frames) from the trace chunk stack