aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2004-12-09 14:45:26 +0000
committerherbelin2004-12-09 14:45:26 +0000
commit417dc9f47b16b617b37e9a351e3a276b37667ef3 (patch)
tree375fa8ac36a8f90b5560e71a0dea1438548502ef
parentaba21455f0d9e570106a8b4d9c1bd6241664f1d3 (diff)
Achèvement correction bug do_restrict_hys: ne pas inverser les arguments
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6454 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--pretyping/evarutil.ml15
1 files changed, 2 insertions, 13 deletions
diff --git a/pretyping/evarutil.ml b/pretyping/evarutil.ml
index 2de116b612..b0aed65e17 100644
--- a/pretyping/evarutil.ml
+++ b/pretyping/evarutil.ml
@@ -240,20 +240,9 @@ let do_restrict_hyps evd ev args =
let evi = Evd.map (evars_of !evd) ev in
let env = evar_env evi in
let hyps = evi.evar_hyps in
- let (_,(rsign,ncargs)) =
- List.fold_left
- (fun (sign,(rs,na)) a ->
- (List.tl sign,
- if not(closed0 a) then
- (rs,na)
- else
- (add_named_decl (List.hd sign) rs, a::na)))
- (hyps,([],[])) args
- in
- let sign' = List.rev rsign in
- let env' = reset_with_named_context sign' env in
+ let (sign,ncargs) = list_filter2 (fun _ a -> closed0 a) (hyps,args) in
let (evd',nc) =
- new_evar_instance sign' !evd evi.evar_concl
+ new_evar_instance sign !evd evi.evar_concl
~src:(evar_source ev !evd) ncargs in
evd := Evd.evar_define ev nc evd';
nc