diff options
author | 2014-01-28 21:02:02 +0100 | |
---|---|---|
committer | 2014-01-28 21:02:02 +0100 | |
commit | a438546db97261451882286f82114191247ad275 (patch) | |
tree | d022ba614385fad18675246ac81f61cddee72afa /tactics/inv.ml | |
parent | dfcef9c70aa7ef35461826e777458851da326d73 (diff) |
Fixing dependent inversion. Some exceptions were not caught by the tactic
monad.
Diffstat (limited to 'tactics/inv.ml')
-rw-r--r-- | tactics/inv.ml | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/tactics/inv.ml b/tactics/inv.ml index c317413a3..fb6de660d 100644 --- a/tactics/inv.ml +++ b/tactics/inv.ml @@ -471,6 +471,7 @@ let raw_inversion inv_kind id status names = Proofview.tclZERO (Errors.UserError ("raw_inversion" , str ("The type of "^(Id.to_string id)^" is not inductive."))) end >= fun (ind,t) -> + try let indclause = Tacmach.New.of_old (fun gl -> mk_clenv_from gl (c,t)) gl in let ccl = clenv_type indclause in check_no_metas indclause ccl; @@ -496,6 +497,9 @@ let raw_inversion inv_kind id status names = (Proofview.V82.tactic (apply_term (mkVar id) (List.init neqns (fun _ -> Evarutil.mk_new_meta())))) reflexivity))]) + with e when Errors.noncritical e -> + let e = Errors.push e in + Proofview.tclZERO e end (* Error messages of the inversion tactics *) |