-
Notifications
You must be signed in to change notification settings - Fork 28
Isabelle2025 #217
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
Isabelle2025 #217
Conversation
Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: rozlynd <[email protected]>
Signed-off-by: Stephan Merz <[email protected]>
|
Several proofs fail, at least on my PC. Not sure if that's hardware or OS. I'm using Linux.
|
|
Hmm, how can we debug this? I tried again, and all these proofs are checked on my end (admittedly on a quite fast Mac, but they don't even take long). Does the PM use a bundled version of Z3 or the one found locally, which could introduce another variation point? I'll try to get access to a Linux machine and see what happens. |
|
Here's a result from my side, on Linux (old i7-4790k CPU from 2014):
@muenchnerkindl if you would like me to set up a Linux VM in Azure for you I have some credits so can do that. Just send me your public SSH key to put in the |
|
Would it be possible to make the Github Action the source of truth? |
|
I actually don't think the library proofs are checked in the CI, so yeah we could do that. They also fail on the main branch build for me. |
Yeah, that's why I (tried to) fix them. ;-) |
|
That makes sense! Okay, I'll add the library proofs to the CI and comment out the ones that are failing. Then this PR can un-comment those proofs, and we will see whether they are fixed from the semi-objective perspective of the github CI. |
|
Okay if you rebase this PR on the latest changes in main, you can get the CI to check specific library proofs by deleting these lines: tlapm/.github/workflows/ci.yml Lines 68 to 74 in 867b949
|
Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: rozlynd <[email protected]> upgrade to Isabelle 2025 and fix library proofs Signed-off-by: Stephan Merz <[email protected]>
…2025 Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: Stephan Merz <[email protected]>
|
Thanks @ahelwer! So I commented out the line for FunctionTheorems_proofs.tla but I don't see the CI running. Do I have to start it manually for the PR? |
|
Ah, I wish github had better reporting for this but you have to check the repository Actions tab to see it:
So I think you have to delete the line instead of commenting it out. |
Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: Stephan Merz <[email protected]>
|
OK, GitHub confirms that the proofs work on MacOS and fail on Linux. I even tried to decompose the failing proof, but still the same result. I'll install a local Linux box and continue testing there. |
Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: Stephan Merz <[email protected]>
Signed-off-by: Stephan Merz <[email protected]>
|
Two steps were failing on my PC in |
Signed-off-by: Karolis Petrauskas <[email protected]>
kape1395
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
Thanks again @kape1395! I am quite disgusted by the fact that the behavior of Z3 differs significantly between OSes. Perhaps we should seriously compare with how cvc5 behaves. @ahelwer, @lemmy: do you think we should leave the CI as it is, i.e. running all library proofs? They take quite a while on the GitHub servers, and I do not know how problematic this is. |
|
The CI now takes 24 minutes instead of 18, which is not too bad. It's important for the library proofs to continue passing, I think? I will move the library checks later in the CI though so basic unit tests run first. The Z3 version also has not been upgraded in a while, perhaps there are changes to its behavior (for better or worse here, who can say). |
This PR upgrades the Isabelle backend to Isabelle2025 and also fixes all proofs in the standard library of theorems. This also required a subtle change to the SMT backend contributed by @rozlynd.