aboutsummaryrefslogtreecommitdiffhomepage
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/subtac/SubtacTactics.v13
-rw-r--r--contrib/subtac/subtac_obligations.ml5
2 files changed, 15 insertions, 3 deletions
diff --git a/contrib/subtac/SubtacTactics.v b/contrib/subtac/SubtacTactics.v
index 1d4d948ac..0a935c0d2 100644
--- a/contrib/subtac/SubtacTactics.v
+++ b/contrib/subtac/SubtacTactics.v
@@ -49,6 +49,19 @@ Ltac destruct_call f :=
end
end.
+Ltac destruct_call_concl f :=
+ match goal with
+ | |- ?T =>
+ match T with
+ | context [f ?x ?y ?z ?w ?v ?u] => let n := fresh "H" in set (n:=f x y z w v u); destruct n
+ | context [f ?x ?y ?z ?w ?v] => let n := fresh "H" in set (n:=f x y z w v); destruct n
+ | context [f ?x ?y ?z ?w] => let n := fresh "H" in set (n:=f x y z w); destruct n
+ | context [f ?x ?y ?z] => let n := fresh "H" in set (n:=f x y z); destruct n
+ | context [f ?x ?y] => let n := fresh "H" in set (n:=f x y); destruct n
+ | context [f ?x] => let n := fresh "H" in set (n:=f x); destruct n
+ end
+ end.
+
Ltac myinjection :=
let tac H := inversion H ; subst ; clear H in
match goal with
diff --git a/contrib/subtac/subtac_obligations.ml b/contrib/subtac/subtac_obligations.ml
index d42de1333..b15dd97b1 100644
--- a/contrib/subtac/subtac_obligations.ml
+++ b/contrib/subtac/subtac_obligations.ml
@@ -240,9 +240,8 @@ let update_obls prg obls rem =
(declare_mutual_definition progs;
from_prg := List.fold_left
(fun acc x ->
- ProgMap.remove x.prg_name acc) !from_prg progs;
- true)
- else false)
+ ProgMap.remove x.prg_name acc) !from_prg progs);
+ false)
let is_defined obls x = obls.(x).obl_body <> None