aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorGaëtan Gilbert2018-10-02 16:13:31 +0200
committerGaëtan Gilbert2019-03-14 15:46:16 +0100
commit456919dd31f2f4bda15c6b37e4f1217bc085fc41 (patch)
treea21b255f9bb570b4df07885c894243e2481c000d /kernel
parentf3c1fe8bc7979cd7036fcd2a1b2fe8f0a1acb058 (diff)
Switch order eqappr/check relevance in conversion.
This takes advantage of the mutability of the fconstr relevance mark.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/reduction.ml5
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/reduction.ml b/kernel/reduction.ml
index f32531721c..8c364602e9 100644
--- a/kernel/reduction.ml
+++ b/kernel/reduction.ml
@@ -329,9 +329,8 @@ let is_irrelevant infos lft c =
(* Conversion between [lft1]term1 and [lft2]term2 *)
let rec ccnv cv_pb l2r infos lft1 lft2 term1 term2 cuniv =
- if is_irrelevant infos lft1 term1 && is_irrelevant infos lft2 term2
- then cuniv
- else eqappr cv_pb l2r infos (lft1, (term1,[])) (lft2, (term2,[])) cuniv
+ try eqappr cv_pb l2r infos (lft1, (term1,[])) (lft2, (term2,[])) cuniv
+ with NotConvertible when is_irrelevant infos lft1 term1 && is_irrelevant infos lft2 term2 -> cuniv
(* Conversion between [lft1](hd1 v1) and [lft2](hd2 v2) *)
and eqappr cv_pb l2r infos (lft1,st1) (lft2,st2) cuniv =