aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/find_subterm.mli
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-08-31 20:53:45 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2015-11-10 16:40:05 +0100
commit07620386b3c1b535ee7e43306a6345f015a318f0 (patch)
tree27812862219355ccc1283c8c3315c8b03bbc4675 /pretyping/find_subterm.mli
parent575fdab5df7c861692b19c62c2004c339c8621df (diff)
Fixing #1225: we now skip the canonically built binding contexts of
the return clause and of the branches in a "match", computing them automatically when using the "at" clause of pattern, destruct, ... In principle, this is a source of incompatibilities in the numbering, since the internal binders of a "match" are now skipped. We shall deal with that later on.
Diffstat (limited to 'pretyping/find_subterm.mli')
-rw-r--r--pretyping/find_subterm.mli5
1 files changed, 3 insertions, 2 deletions
diff --git a/pretyping/find_subterm.mli b/pretyping/find_subterm.mli
index 47d9654e5..23d7ed949 100644
--- a/pretyping/find_subterm.mli
+++ b/pretyping/find_subterm.mli
@@ -29,6 +29,7 @@ exception SubtermUnificationError of subterm_unification_error
type 'a testing_function = {
match_fun : 'a -> constr -> 'a;
merge_fun : 'a -> 'a -> 'a;
+ get_evars : 'a -> evar_map;
mutable testing_state : 'a;
mutable last_found : position_reporting option
}
@@ -43,14 +44,14 @@ val make_eq_univs_test : env -> evar_map -> constr -> evar_map testing_function
()]; it turns a NotUnifiable exception raised by the testing
function into a SubtermUnificationError. *)
val replace_term_occ_modulo : occurrences or_like_first ->
- 'a testing_function -> (unit -> constr) -> constr -> constr
+ 'a testing_function -> (unit -> constr) -> env -> constr -> constr
(** [replace_term_occ_decl_modulo] is similar to
[replace_term_occ_modulo] but for a named_declaration. *)
val replace_term_occ_decl_modulo :
(occurrences * hyp_location_flag) or_like_first ->
'a testing_function -> (unit -> constr) ->
- named_declaration -> named_declaration
+ env -> named_declaration -> named_declaration
(** [subst_closed_term_occ occl c d] replaces occurrences of
closed [c] at positions [occl] by [Rel 1] in [d] (see also Note OCC),