diff options
Diffstat (limited to 'proofs')
-rw-r--r-- | proofs/clenv.ml | 6 | ||||
-rw-r--r-- | proofs/clenv.mli | 2 |
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 *) |