diff options
| author | Pierre-Marie Pédrot | 2019-10-15 21:33:31 +0200 |
|---|---|---|
| committer | Gaëtan Gilbert | 2019-10-16 10:57:47 +0200 |
| commit | 5c5790d587ad425a882ea8bcdcf28d5ac046aaa3 (patch) | |
| tree | 53ed7fe07593a86c2bd6e85e61ca20bae1a38e37 /kernel | |
| parent | fcd8a670b4e56e69e67315d9bf40130cff68312b (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.ml | 1 |
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) |
