diff options
| author | barras | 2008-11-21 20:23:05 +0000 |
|---|---|---|
| committer | barras | 2008-11-21 20:23:05 +0000 |
| commit | 2fa42e57ecc5e8170e36fb63919f4b0a9ad19430 (patch) | |
| tree | 6ba45e8b009e946940fb551904756ae4000fea91 /pretyping/reductionops.ml | |
| parent | 9963243587e1e2af7737c85012200be84d645dad (diff) | |
fixed problem with r11612
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@11614 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/reductionops.ml')
| -rw-r--r-- | pretyping/reductionops.ml | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml index e24cf62bb1..daa0701b08 100644 --- a/pretyping/reductionops.ml +++ b/pretyping/reductionops.ml @@ -607,8 +607,23 @@ let pb_equal = function let sort_cmp = sort_cmp + +let nf_red_env sigma env = + let nf_decl = function + (x,Some t,ty) -> (x,Some (nf_evar sigma t),ty) + | d -> d in + let sign = named_context env in + let ctxt = rel_context env in + let env = reset_context env in + let env = Sign.fold_named_context + (fun d env -> push_named (nf_decl d) env) ~init:env sign in + Sign.fold_rel_context + (fun d env -> push_rel (nf_decl d) env) ~init:env ctxt + + let test_conversion f env sigma x y = - try let _ = f env (nf_evar sigma x) (nf_evar sigma y) in true + try let _ = + f (nf_red_env sigma env) (nf_evar sigma x) (nf_evar sigma y) in true with NotConvertible -> false let is_conv env sigma = test_conversion Reduction.conv env sigma |
