Skip to content
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

Update to Isabelle2024 #764

Merged
merged 6 commits into from
Jun 12, 2024
Merged

Update to Isabelle2024 #764

merged 6 commits into from
Jun 12, 2024

Conversation

corlewis
Copy link
Member

Updates all proofs and ML code to Isabelle2024.

The changes are very minor this time, and apart from one or two cases only involve ML code. The main ML differences are that:

  • the simproc setup has changed slightly
  • it is now an error to catch all exceptions and instead we use the new \<^try> antiquotation
  • the underlying ML for the old-style defs command was downgraded, which meant that defs had to be correspondingly downgraded as well.

Nicely, initial testing did show some fairly significant performance improvements, particularly to the CPU time.

Isabelle2023:
  N = 22
  Average ARM CRefine: (00:28:45 real, 03:16:57 cpu, 22.11GB)
  Standard Deviation: (00:01:25 real, 00:16:05 cpu, 0.38GB)
Isabelle2024:
  N = 22
  Average ARM CRefine: (00:24:16 real, 02:22:21 cpu, 22.12GB)
  Standard Deviation: (00:00:29 real, 00:02:49 cpu, 0.40GB)

@corlewis
Copy link
Member Author

The last commit needs to be dropped before merging, it hopefully just makes the tests pick Isabelle2024 instead of Isabelle2023 for this PR.

Most of the commits labelled update to Isabelle2024 could also probably be squashed together if we want to, the current set just reflects how they were developed.

Copy link
Member

@lsf37 lsf37 left a comment

Choose a reason for hiding this comment

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

Looks good from my side. I'll prime the AWS VMs with the new Isabelle components, because it looks like some of them are failing on long downloads.

@lsf37
Copy link
Member

lsf37 commented Jun 11, 2024

I'll prime the AWS VMs with the new Isabelle components, because it looks like some of them are failing on long downloads.

Now done. New runs should not need to download components any more.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
@corlewis corlewis force-pushed the isabelle-2024 branch 2 times, most recently from f375850 to 0a4b98a Compare June 12, 2024 03:04
corlewis and others added 5 commits June 12, 2024 13:06
- Exn.interruptible_capture has been renamed to Exn.result.
- simproc setup has changed slightly
- can no longer catch all exceptions
- Term_Subst renames
- Global_Theory.add_defs was downgraded to Global_Theory.add_def

Co-authored-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
Signed-off-by: Corey Lewis <corey.lewis@proofcraft.systems>
The old Global_Theory.add_defs command lost some options and no longer
processes attributes. This commit reflects these changes up into the
"defs" command:

- remove "overloading" and "unchecked" options
- remove attribute spec -- use pure binding for thm name
- only one equation per "defs" command
- remove deprecation warning, because we are using this command
  intentionally
- document these changes in the header

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
Signed-off-by: Corey Lewis <corey.lewis@proofcraft.systems>
src/Pure/General/table.ML in Isabelle2024 has a new function
unsynchronized_cache which draws in further Isabelle library features
that we have so far not included in the standalone parser. The new
function isn't used in the standalone parser, so we remove it from
the signature and struct in the copying process.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
Since the contents of the generated table.ML depend on the Makefile,
the Makefile itself should be a dependency.

Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
@corlewis corlewis merged commit 6ab6513 into master Jun 12, 2024
9 of 14 checks passed
@corlewis corlewis deleted the isabelle-2024 branch June 12, 2024 03:25
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.

None yet

2 participants