aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs
diff options
context:
space:
mode:
Diffstat (limited to 'proofs')
-rw-r--r--proofs/clenv.ml6
-rw-r--r--proofs/clenv.mli2
2 files changed, 5 insertions, 3 deletions
diff --git a/proofs/clenv.ml b/proofs/clenv.ml
index dade69865..8b4b41219 100644
--- a/proofs/clenv.ml
+++ b/proofs/clenv.ml
@@ -440,11 +440,11 @@ let clenv_match_args bl clenv =
clenv_assign_binding clenv k c)
clenv bl
+exception NoSuchBinding
+
let clenv_constrain_last_binding c clenv =
let all_mvs = collect_metas clenv.templval.rebus in
- let k =
- try list_last all_mvs
- with Failure _ -> anomaly "clenv_constrain_with_bindings" in
+ let k = try list_last all_mvs with Failure _ -> raise NoSuchBinding in
clenv_assign_binding clenv k c
let clenv_constrain_dep_args hyps_only bl clenv =
diff --git a/proofs/clenv.mli b/proofs/clenv.mli
index 209024c9c..9a93adc44 100644
--- a/proofs/clenv.mli
+++ b/proofs/clenv.mli
@@ -85,6 +85,8 @@ type arg_bindings = constr explicit_bindings
val clenv_independent : clausenv -> metavariable list
val clenv_missing : clausenv -> metavariable list
+(** for the purpose of inversion tactics *)
+exception NoSuchBinding
val clenv_constrain_last_binding : constr -> clausenv -> clausenv
(** defines metas corresponding to the name of the bindings *)