Skip to content

Commit

Permalink
Merge pull request #2881 from FStarLang/_guido_zeta
Browse files Browse the repository at this point in the history
Excluding some fixpoint reductions in typechecker
  • Loading branch information
aseemr authored Apr 12, 2023
2 parents 986f001 + 3a91840 commit f76ee5b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 8 deletions.
12 changes: 9 additions & 3 deletions ocaml/fstar-lib/generated/FStar_TypeChecker_Rel.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion ocaml/fstar-lib/generated/FStar_TypeChecker_TcTerm.ml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions src/typechecker/FStar.TypeChecker.Rel.fst
Original file line number Diff line number Diff line change
Expand Up @@ -1836,7 +1836,7 @@ let simplify_guard env g = match g.guard_f with
| NonTrivial f ->
if Env.debug env <| Options.Other "Simplification" then BU.print1 "Simplifying guard %s\n" (Print.term_to_string f);
let f = norm_with_steps "FStar.TypeChecker.Rel.norm_with_steps.6"
[Env.Beta; Env.Eager_unfolding; Env.Simplify; Env.Primops; Env.NoFullNorm] env f in
[Env.Beta; Env.Eager_unfolding; Env.Simplify; Env.Primops; Env.NoFullNorm; Env.Exclude Env.Zeta] env f in
if Env.debug env <| Options.Other "Simplification" then BU.print1 "Simplified guard to %s\n" (Print.term_to_string f);
let f =
let g = U.unmeta f in
Expand Down Expand Up @@ -4944,7 +4944,7 @@ let discharge_guard' use_env_range_msg env (g:guard_t) (use_smt:bool) : option g
(BU.format1 "Before normalization VC=\n%s\n" (Print.term_to_string vc));
let vc =
Profiling.profile
(fun () -> N.normalize [Env.Eager_unfolding; Env.Simplify; Env.Primops] env vc)
(fun () -> N.normalize [Env.Eager_unfolding; Env.Simplify; Env.Primops; Env.Exclude Env.Zeta] env vc)
(Some (Ident.string_of_lid (Env.current_module env)))
"FStar.TypeChecker.Rel.vc_normalization"
in
Expand Down Expand Up @@ -4974,7 +4974,7 @@ let discharge_guard' use_env_range_msg env (g:guard_t) (use_smt:bool) : option g
if Options.profile_enabled None "FStar.TypeChecker"
then BU.print1 "Tactic preprocessing produced %s goals\n" (BU.string_of_int (List.length vcs));
let vcs = List.map (fun (env, goal, opts) ->
env, norm_with_steps "FStar.TypeChecker.Rel.norm_with_steps.7" [Env.Simplify; Env.Primops] env goal, opts) vcs in
env, norm_with_steps "FStar.TypeChecker.Rel.norm_with_steps.7" [Env.Simplify; Env.Primops; Env.Exclude Env.Zeta] env goal, opts) vcs in
let vcs = List.map (fun (env, goal, opts) ->
env.solver.handle_smt_goal env goal |>
(* Keep the same SMT options if the goals were transformed *)
Expand Down
2 changes: 1 addition & 1 deletion src/typechecker/FStar.TypeChecker.TcTerm.fst
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ let no_inst env = {env with Env.instantiate_imp=false}
let is_eq = function
| Some Equality -> true
| _ -> false
let steps env = [Env.Beta; Env.Eager_unfolding; Env.NoFullNorm]
let steps env = [Env.Beta; Env.Eager_unfolding; Env.NoFullNorm; Env.Exclude Env.Zeta]
let norm env t = N.normalize (steps env) env t
let norm_c env c = N.normalize_comp (steps env) env c
let check_no_escape head_opt env (fvs:list bv) kt : term * guard_t =
Expand Down

0 comments on commit f76ee5b

Please sign in to comment.