package coq-core
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
md5=66e57ea55275903bef74d5bf36fbe0f1
    
    
  sha512=1a7eac6e2f58724a3f9d68bbb321e4cfe963ba1a5551b9b011db4b3f559c79be433d810ff262593d753770ee41ea68fbd6a60daa1e2319ea00dff64c8851d70b
    
    
  doc/ltac_plugin/Ltac_plugin/Tactic_matching/index.html
Module Ltac_plugin.Tactic_matchingSource
This file extends Matching with the main logic for Ltac's (lazy)match and (lazy)match goal.
type 'a t = {- subst : Constr_matching.bound_ident_map * Ltac_pretype.extended_patvar_map;
- context : Constr_matching.context Names.Id.Map.t;
- terms : EConstr.constr Names.Id.Map.t;
- lhs : 'a;
}t is the type of matching successes. It ultimately contains a Tacexpr.glob_tactic_expr representing the left-hand side of the corresponding matching rule, a matching substitution to be applied, a context substitution mapping identifier to context like those of Constr_matching.matching_result), and a Constr.t substitution mapping corresponding to matched hypotheses.
val match_term : 
  Environ.env ->
  Evd.evar_map ->
  EConstr.constr ->
  (Constr_matching.binding_bound_vars * Constr_matching.instantiated_pattern,
    Tacexpr.glob_tactic_expr)
    Tacexpr.match_rule
    list ->
  Tacexpr.glob_tactic_expr t Proofview.tacticmatch_term env sigma term rules matches the term term with the set of matching rules rules. The environment env and the evar_map sigma are not currently used, but avoid code duplication.
val match_goal : 
  Environ.env ->
  Evd.evar_map ->
  EConstr.named_context ->
  EConstr.constr ->
  (Constr_matching.binding_bound_vars * Constr_matching.instantiated_pattern,
    Tacexpr.glob_tactic_expr)
    Tacexpr.match_rule
    list ->
  Tacexpr.glob_tactic_expr t Proofview.tacticmatch_goal env sigma hyps concl rules matches the goal hyps|-concl with the set of matching rules rules. The environment env and the evar_map sigma are used to check convertibility for pattern variables shared between hypothesis patterns or the conclusion pattern.