diff options
| author | Maxime Dénès | 2017-08-31 12:41:12 +0200 |
|---|---|---|
| committer | Maxime Dénès | 2017-08-31 12:41:12 +0200 |
| commit | b8ddc6e8b7788bfdb92ebd5238ca92c633b3e092 (patch) | |
| tree | f4338fa301a1d71f4e74eb681c9692591c2423c8 /pretyping | |
| parent | 8f04b4714f2a797b98be4d87866af3d93ecb78b6 (diff) | |
| parent | ae43495dee6e3f4ab407a49050ea2546ab6bd428 (diff) | |
Merge PR #994: Fix BZ#5245 hnf on projections with simpl never flag
Diffstat (limited to 'pretyping')
| -rw-r--r-- | pretyping/tacred.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pretyping/tacred.ml b/pretyping/tacred.ml index 76f35f76f5..708788ab87 100644 --- a/pretyping/tacred.ml +++ b/pretyping/tacred.ml @@ -557,6 +557,12 @@ let match_eval_ref_value env sigma constr stack = Some (EConstr.of_constr (constant_value_in env (sp, u))) else None + | Proj (p, c) when not (Projection.unfolded p) -> + reduction_effect_hook env sigma (EConstr.to_constr sigma constr) + (lazy (EConstr.to_constr sigma (applist (constr,stack)))); + if is_evaluable env (EvalConstRef (Projection.constant p)) then + Some (mkProj (Projection.unfold p, c)) + else None | Var id when is_evaluable env (EvalVarRef id) -> env |> lookup_named id |> NamedDecl.get_value | Rel n -> |
