FStarLang / FStar

A Proof-oriented Programming Language
https://www.fstar-lang.org
Apache License 2.0
2.65k stars 232 forks source link

Tactics: make splice_t always run without admit/lax #3336

Closed mtzguido closed 6 days ago

mtzguido commented 6 days ago

In the interactive mode, flycheck queries are run with lax=true in the environment, which causes SMT queries to be dropped. This in turn will "confuse" the Pulse checker whenever we are doing flychecking, and report spurious errors such as FStarLang/Pulse#122.

This is a bigger problem with confusion between --admit_smt_queries true, --lax, and the env.lax and env.admit fields. I'm wrapping up a PR about that.

Meanwhile, just make all entries into a splice_t tactic run with admit=false and lax=false.

Another thing we should do is simply not flycheck syntax extension blobs. Emacs' fstar-mode does this already, but apparently not the VS code extension. We have an internal environment flag flychecking:bool for this purpose, but it's not set from VS code queries apparently.