-
Notifications
You must be signed in to change notification settings - Fork 233
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
strict_on_args on recursive function #3234
Comments
mtzguido
added a commit
to mtzguido/FStar
that referenced
this issue
Apr 7, 2024
Merged
Making a note that this patch would fix this issue commit 3111019fce5e11afdf2463780f90e675846c3d12 (HEAD -> pristine)
Author: Guido Martínez <mtzguido@gmail.com>
Date: Sun Apr 7 13:32:13 2024 -0700
Normalizer: a fix for strict_args
Fixes #3234
diff --git a/src/typechecker/FStar.TypeChecker.Normalize.fst b/src/typechecker/FStar.TypeChecker.Normalize.fst
index f5110abb5c..ae4333e37e 100644
--- a/src/typechecker/FStar.TypeChecker.Normalize.fst
+++ b/src/typechecker/FStar.TypeChecker.Normalize.fst
@@ -1646,7 +1646,7 @@ let rec norm : cfg -> env -> stack -> term -> term =
if i >= norm_args_len then false
else
let arg_i, _ = List.nth norm_args i in
- let head, _ = arg_i |> U.unmeta_safe |> U.head_and_args in
+ let head, _ = arg_i |> U.unmeta_safe |> U.unlazy_emb |> U.head_and_args in
match (un_uinst head).n with
| Tm_constant _ -> true
| Tm_fvar fv -> Env.is_datacon cfg.tcenv (S.lid_of_fv fv) But, it unblocks some reductions of |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This should work, but gets stuck after the first iteration. The problem is a
Tm_lazy
node preventing the reduction, pushing a fix soon.The text was updated successfully, but these errors were encountered: