diff options
author | 2016-02-15 16:45:18 +0100 | |
---|---|---|
committer | 2016-02-15 17:45:09 +0100 | |
commit | 5180ab68819f10949cd41a2458bff877b3ec3204 (patch) | |
tree | 5ee53ec7c6aaeb004bb41540e764381d0917234e /tactics/tacinterp.ml | |
parent | 4689c62b791ae384f2f603c7f22d5088eafa1d3e (diff) |
Using monotonic types for conversion functions.
Diffstat (limited to 'tactics/tacinterp.ml')
-rw-r--r-- | tactics/tacinterp.ml | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml index 73aa4c337..edad75339 100644 --- a/tactics/tacinterp.ml +++ b/tactics/tacinterp.ml @@ -805,7 +805,10 @@ let interp_may_eval f ist env sigma = function | ConstrEval (r,c) -> let (sigma,redexp) = interp_red_expr ist env sigma r in let (sigma,c_interp) = f ist env sigma c in - (fst (Redexpr.reduction_of_red_expr env redexp) env sigma c_interp) + let (redfun, _) = Redexpr.reduction_of_red_expr env redexp in + let sigma = Sigma.Unsafe.of_evar_map sigma in + let Sigma (c, sigma, _) = redfun.Reductionops.e_redfun env sigma c_interp in + (Sigma.to_evar_map sigma, c) | ConstrContext ((loc,s),c) -> (try let (sigma,ic) = f ist env sigma c in |