diff options
Diffstat (limited to 'proofs')
| -rw-r--r-- | proofs/goal.mli | 2 | ||||
| -rw-r--r-- | proofs/logic.ml | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/proofs/goal.mli b/proofs/goal.mli index 345f46abfd..267d264931 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 68031e2b55..84bbd9751e 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) |
