diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2015-08-31 20:53:45 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2015-11-10 16:40:05 +0100 |
commit | 07620386b3c1b535ee7e43306a6345f015a318f0 (patch) | |
tree | 27812862219355ccc1283c8c3315c8b03bbc4675 /pretyping/find_subterm.mli | |
parent | 575fdab5df7c861692b19c62c2004c339c8621df (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.mli | 5 |
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), |