-
Notifications
You must be signed in to change notification settings - Fork 153
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
Ordered constraint accumulation #4249
Conversation
I think there are still some places where we could be comparing equality of CTerm without considering different constraint ordering. So I wolud drop the parameter, not sort them by default, and then test with Kontrol. If there are no problems, good to merge. Otherwise, maybe we need to implement explicit equality operator for CTerm directly. So in short, I agree with @tothtamas28 to not provide the option to have the constraints out of order. Hopefully there are no problems, but if there are, then we need to implement equality over |
Ok, I will proceed with that then. Since this could be quite fragile, perhaps we could just do a custom equality? Although, in truth, there are lots of sets in configurations that are just treated syntactically... |
@PetarMax if you've tested this with Kontrol, feel free to merge. You'll probably need to track it's progress downstream, as it may change test output. |
Thank you - yes, I will test with both KEVM and Kontrol before I merge.
|
Can confirm that all of the KEVM integration tests for the |
...but will have to wait to test with Kontrol since the transition to the new |
I haven't observed any issues in the Kontrol test suite (other than the expected outputs needing to be updated, but that is expected since the order of constraints will be different). |
@PetarMax please rebase against the This also applies to bringing the branch up to date; merge in |
d3f5e0b
to
2ba0982
Compare
Partial revert of #4249. Due to problems in cross-machine orderings in the constraints of `CTerm`s observed by @goodlyrottenapple, this PR reverts the non-sortedness of `CTerm` constraints. The chronological order of `Split` constraints is still maintained.
Transfer of: runtimeverification/pyk#1065