From 50409f26d4c4f6f71af20cbaea234b8c0649dd26 Mon Sep 17 00:00:00 2001 From: Maxime Dénès Date: Tue, 20 Mar 2018 18:23:44 +0100 Subject: [ssreflect] Respect Opaque in FO unification --- plugins/ssrmatching/ssrmatching.ml4 | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'plugins/ssrmatching') diff --git a/plugins/ssrmatching/ssrmatching.ml4 b/plugins/ssrmatching/ssrmatching.ml4 index 6a1be9db0..2ba6acc03 100644 --- a/plugins/ssrmatching/ssrmatching.ml4 +++ b/plugins/ssrmatching/ssrmatching.ml4 @@ -311,14 +311,14 @@ let unif_HO_args env ise0 pa i ca = (* evars into metas, since 8.2 does not TC metas. This means some lossage *) (* for HO evars, though hopefully Miller patterns can pick up some of *) (* those cases, and HO matching will mop up the rest. *) -let flags_FO = +let flags_FO env = let flags = { (Unification.default_no_delta_unify_flags ()).Unification.core_unify_flags with Unification.modulo_conv_on_closed_terms = None; Unification.modulo_eta = true; Unification.modulo_betaiota = true; - Unification.modulo_delta_types = full_transparent_state} + Unification.modulo_delta_types = Conv_oracle.get_transp_state (Environ.oracle env)} in { Unification.core_unify_flags = flags; Unification.merge_unify_flags = flags; @@ -328,7 +328,8 @@ let flags_FO = (Unification.default_no_delta_unify_flags ()).Unification.resolve_evars } let unif_FO env ise p c = - Unification.w_unify env ise Reduction.CONV ~flags:flags_FO (EConstr.of_constr p) (EConstr.of_constr c) + Unification.w_unify env ise Reduction.CONV ~flags:(flags_FO env) + (EConstr.of_constr p) (EConstr.of_constr c) (* Perform evar substitution in main term and prune substitution. *) let nf_open_term sigma0 ise c = -- cgit v1.2.3