aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/matching.mli
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping/matching.mli')
-rw-r--r--pretyping/matching.mli15
1 files changed, 7 insertions, 8 deletions
diff --git a/pretyping/matching.mli b/pretyping/matching.mli
index 5a789b442..32c2906b6 100644
--- a/pretyping/matching.mli
+++ b/pretyping/matching.mli
@@ -13,38 +13,37 @@ open Names
open Term
open Environ
open Pattern
+open Termops
(*i*)
(*s This modules implements pattern-matching on terms *)
exception PatternMatchingFailure
+val special_meta : metavariable
+
(* [matches pat c] matches [c] against [pat] and returns the resulting
assignment of metavariables; it raises [PatternMatchingFailure] if
not matchable; bindings are given in increasing order based on the
numbers given in the pattern *)
-val matches :
- constr_pattern -> constr -> (int * constr) list
+val matches : constr_pattern -> constr -> patvar_map
(* [is_matching pat c] just tells if [c] matches against [pat] *)
-val is_matching :
- constr_pattern -> constr -> bool
+val is_matching : constr_pattern -> constr -> bool
(* [matches_conv env sigma] matches up to conversion in environment
[(env,sigma)] when constants in pattern are concerned; it raises
[PatternMatchingFailure] if not matchable; bindings are given in
increasing order based on the numbers given in the pattern *)
-val matches_conv :
- env -> Evd.evar_map -> constr_pattern -> constr -> (int * constr) list
+val matches_conv :env -> Evd.evar_map -> constr_pattern -> constr -> patvar_map
(* To skip to the next occurrence *)
exception NextOccurrence of int
(* Tries to match a subterm of [c] with [pat] *)
-val sub_match :
- int -> constr_pattern -> constr -> ((int * constr) list * constr)
+val sub_match : int -> constr_pattern -> constr -> patvar_map * constr
(* [is_matching_conv env sigma pat c] tells if [c] matches against [pat]
up to conversion for constants in patterns *)