aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-10-15 21:33:31 +0200
committerGaëtan Gilbert2019-10-16 10:57:47 +0200
commit5c5790d587ad425a882ea8bcdcf28d5ac046aaa3 (patch)
tree53ed7fe07593a86c2bd6e85e61ca20bae1a38e37 /kernel
parentfcd8a670b4e56e69e67315d9bf40130cff68312b (diff)
Fix a De Bruijn bug in the computation of term relevance in the kernel.
Opening up a lambda should always lift the substitution attached to it.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/retypeops.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/retypeops.ml b/kernel/retypeops.ml
index a51b762f95..f398e6a5da 100644
--- a/kernel/retypeops.ml
+++ b/kernel/retypeops.ml
@@ -71,6 +71,7 @@ let rec relevance_of_fterm env extra lft f =
| FLambda (len, tys, bdy, e) ->
let extra = List.rev_append (List.map (fun (x,_) -> binder_relevance x) tys) extra in
let lft = Esubst.el_liftn len lft in
+ let e = Esubst.subs_liftn len e in
relevance_of_term_extra env extra lft e bdy
| FLetIn (x, _, _, bdy, e) ->
relevance_of_term_extra env (x.binder_relevance :: extra)