Skip to content

Upgrade to F* Universes#244

Draft
tahina-pro wants to merge 94 commits intomasterfrom
_nik_smt_univs_2025
Draft

Upgrade to F* Universes#244
tahina-pro wants to merge 94 commits intomasterfrom
_nik_smt_univs_2025

Conversation

@tahina-pro
Copy link
Member

FStarLang/FStar#3699 makes many EverParse proofs fail. This PR, authored by @nikswamy, fixes such proofs. Thanks a lot Nik!

Some remaining admits in this PR are slated to be overwritten once EverCDDL serialization is generalized beyond deterministically encoded CBOR.

@tahina-pro
Copy link
Member Author

tahina-pro commented Nov 20, 2025

Hi @nikswamy , @gebner and @mtzguido !
I am now catching up on F*, Karamel and Pulse.

Blocking issues

Can anyone please help me there? Thanks in advance!
(If you want to get started, run ADMIT=1 make -j$(nproc) -k from this branch)

Other lessons learned

  • Pulse now sometimes needs the user to specify the middle argument of Pulse.Lib.Trade.Util.trans, which I find annoying in the cases where there are exactly two trades and exactly one of them unifies with the first (or third) argument specified by the user. See b9d339c
  • I am still using "old-style" while loops; now it seems that the pure invariant for the Boolean termination argument has to be separated from other pure invariants, otherwise Pulse cannot compute a witness at the end of the loop iteration, see f174fa2
  • I had to add many rewrites, and a few trade transitivity lemmas where the middle argument does not unify. More generally, it seems that Pulse no longer unifies with SMT even if the choice of slprops from the context is unambiguous, see 3b97d8f. From what Nik told me, the meaning of mkey has been inverted and maybe I should annotate PulseParse and EverCBOR slprops with it.

Current status

Apart from the blocking issues above:

  • Pulse runs out of memory in CDDL.Pulse.Serialize.MapGroup.impl_serialize_map_zero_or_more_iterator_gen, but this function is slated to be rewritten soon, since I intend to generalize CDDL serialization to support non-deterministic CBOR, so there is no need to fix that function
  • I have not fixed SMT failures yet, but there seems to be a significant amount of them in ASN1* (among others)

tahina-pro added a commit that referenced this pull request Feb 11, 2026
CI: allow direct push on upgrade, temporarily schedule nightly upgrades for #244, etc.
@@ -1,3 +1,3 @@
FStar_hash := origin/master
karamel_hash := origin/master
karamel_hash := fb36fecb552c9fb202beb38a6c5a732c3f2cd49f
Copy link
Member Author

@tahina-pro tahina-pro Feb 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

7f02f85 should be reverted once FStarLang/karamel#676 is solved FStarLang/karamel#681 is merged

dzomo and others added 8 commits February 18, 2026 22:29
Revert commit e27e3d7 which
enabled --proof_recovery, and increase rlimits for all 43 locations
that relied on it.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants