diff options
| author | msozeau | 2008-04-20 18:14:44 +0000 |
|---|---|---|
| committer | msozeau | 2008-04-20 18:14:44 +0000 |
| commit | 25c9cfe773f69669c867802f6c433b6250ceaf9b (patch) | |
| tree | 2f5ae872261f55380a235f75c1084ae72da4ea76 /pretyping | |
| parent | a00f6f7fd9744c252113abaaa25c6384628efaa3 (diff) | |
Add the ability to give a transparent_state for conversion, to
parameterize what should be unfolded or not, by default unfolding
everything.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10819 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
| -rw-r--r-- | pretyping/reductionops.ml | 8 | ||||
| -rw-r--r-- | pretyping/reductionops.mli | 4 |
2 files changed, 12 insertions, 0 deletions
diff --git a/pretyping/reductionops.ml b/pretyping/reductionops.ml index 02c517d517..e118a659e9 100644 --- a/pretyping/reductionops.ml +++ b/pretyping/reductionops.ml @@ -640,6 +640,14 @@ let is_conv env sigma = test_conversion Reduction.conv env sigma let is_conv_leq env sigma = test_conversion Reduction.conv_leq env sigma let is_fconv = function | CONV -> is_conv | CUMUL -> is_conv_leq +let test_trans_conversion f reds env sigma x y = + try let _ = f reds env (nf_evar sigma x) (nf_evar sigma y) in true + with NotConvertible -> false + +let is_trans_conv env sigma = test_trans_conversion Reduction.trans_conv env sigma +let is_trans_conv_leq env sigma = test_trans_conversion Reduction.trans_conv_leq env sigma +let is_trans_fconv = function | CONV -> is_trans_conv | CUMUL -> is_trans_conv_leq + (********************************************************************) (* Special-Purpose Reduction *) (********************************************************************) diff --git a/pretyping/reductionops.mli b/pretyping/reductionops.mli index 2dbf60a422..72a0d1a012 100644 --- a/pretyping/reductionops.mli +++ b/pretyping/reductionops.mli @@ -204,6 +204,10 @@ val is_conv : env -> evar_map -> constr -> constr -> bool val is_conv_leq : env -> evar_map -> constr -> constr -> bool val is_fconv : conv_pb -> env -> evar_map -> constr -> constr -> bool +val is_trans_conv : transparent_state -> env -> evar_map -> constr -> constr -> bool +val is_trans_conv_leq : transparent_state -> env -> evar_map -> constr -> constr -> bool +val is_trans_fconv : conv_pb -> transparent_state -> env -> evar_map -> constr -> constr -> bool + (*s Special-Purpose Reduction Functions *) val whd_meta : (metavariable * constr) list -> constr -> constr |
