aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-25 22:33:56 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-25 22:33:56 +0000
commit646c6765e5e3307f8898c4f63c405d91c2e6f47b (patch)
tree1055377213a63b0bbbba1ca55fddf96b22f3c218 /proofs
parent89b1cff6e2e4f8095f3407c19d6692f2c0477e12 (diff)
Replacing lists by sets in clear tactic.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16734 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs')
-rw-r--r--proofs/goal.mli2
-rw-r--r--proofs/logic.ml3
2 files changed, 3 insertions, 2 deletions
diff --git a/proofs/goal.mli b/proofs/goal.mli
index 345f46abf..267d26493 100644
--- a/proofs/goal.mli
+++ b/proofs/goal.mli
@@ -103,7 +103,7 @@ val refine : refinable -> subgoals sensitive
(*** Cleaning goals ***)
(* Implements the [clear] tactic *)
-val clear : Names.Id.t list -> subgoals sensitive
+val clear : Names.Id.Set.t -> subgoals sensitive
(* Implements the [clearbody] tactic *)
val clear_body : Names.Id.t list -> subgoals sensitive
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 68031e2b5..84bbd9751 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -529,7 +529,7 @@ let prim_refiner r sigma goal =
let sign,cl,sigma =
if replace then
let nexthyp = get_hyp_after id (named_context_of_val sign) in
- let sign,cl,sigma = clear_hyps sigma [id] sign cl in
+ let sign,cl,sigma = clear_hyps sigma (Id.Set.singleton id) sign cl in
move_hyp true false ([],(id,None,t),named_context_of_val sign)
nexthyp,
cl,sigma
@@ -654,6 +654,7 @@ let prim_refiner r sigma goal =
(* And now the structural rules *)
| Thin ids ->
+ let ids = List.fold_left (fun accu x -> Id.Set.add x accu) Id.Set.empty ids in
let (hyps,concl,nsigma) = clear_hyps sigma ids sign cl in
let (gl,ev,sigma) =
Goal.V82.mk_goal nsigma hyps concl (Goal.V82.extra nsigma goal)