-
Notifications
You must be signed in to change notification settings - Fork 15
Update for Creusot 0.7.0 #46
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
base: master
Are you sure you want to change the base?
Conversation
|
Thanks, Xia! I’ll have a look tomorrow (aka later today) Regarding Regarding |
|
I'll just be stupid and ask my questions here. What happened to |
|
Yes, that's the only change to make it compilable with Creusot again! It's all |
|
Thanks. Partly out of curiosity, partly because I have had logic functions which return bools (such as a function which negates a boolean, I think due to lack of support in Creusot at the time): is there any limitations in how predicates can be used? Can I ever get burned by a logic function which inadvertently has become a predicate? Also how come the proofs now need more stuff to pass? Has what is exposed to the smt-solvers been changed? |
|
In theory, predicates can be used everywhere a logic function can be used, and conversely. So there should not be any regression because of that. In practice, the goals sent to SMT solvers are slightly different, which may turn a unstable VC from unsat to unknown, just because it's unstable. So it's difficult to tell whether there can be "true" regressions, but, at least in Creusot's test suite, there has not been any. |
Agreed.
That's usually a bad idea, even if I agreee that rebuilding may take some time. The reason is that it contains large files that change a lot, so that your repo can grow quickly. |
Yeah, probably a good idea to remove it. |
|
|
Thanks, Xia! I don't care much about makefiles and directory structure. It became like it is due to a mix of limitations with Creusot and limitations in how much I care. Probably the makefile stuff will get removed. I think it'd be better to do the deletions and moves in a separate PR, whichever PR does that is going to be unreadable. I see that creusot-rs/creusot#987 is still a thing. That's unfortunate. |
b5accd0 to
5a6ad82
Compare
|
I just released Creusot 0.7.0, and the proofs succeed with I also updated NewDB to compile with Creusot but I'm not sure what the status of its proofs was supposed to be. |
|
Thanks! How come it fails build if it passes proofs? I'll deal with NewDB if I ever pick it back up in the future |
|
The build fails with Scratch which is yet another subdirectory I overlooked... |
|
Scratch should build again now. |
|
Excellent, thanks! I appreciate that you put in the effort to update the repository for current Creusot! Looks like the only thing failing is fmt. I'll have a look over the PR and run fmt once I'm home. |
|
Fixed formatting! |
This currently only updates the
.rssources. I haven't tried fixing the proofs yet.BTW Is there a reason for checking in
.why3findandtarget?