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

Ordered constraint accumulation #4249

Merged
merged 5 commits into from
Apr 22, 2024
Merged

Ordered constraint accumulation #4249

merged 5 commits into from
Apr 22, 2024

Conversation

Baltoli
Copy link
Contributor

@Baltoli Baltoli commented Apr 15, 2024

@ehildenb
Copy link
Member

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 CTerm directly instead of using derived implementation.

@PetarMax
Copy link
Contributor

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 PetarMax marked this pull request as ready for review April 16, 2024 14:13
@ehildenb
Copy link
Member

@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.

@PetarMax
Copy link
Contributor

PetarMax commented Apr 16, 2024 via email

@PetarMax
Copy link
Contributor

Can confirm that all of the KEVM integration tests for the Build and Test KEVM proofs (test-prove-pyk, --use-booster, 150) job pass.

@PetarMax
Copy link
Contributor

...but will have to wait to test with Kontrol since the transition to the new pyk approach seems non-trivial (the update PR for KEVM is failing).

@PetarMax
Copy link
Contributor

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).

@Baltoli
Copy link
Contributor Author

Baltoli commented Apr 22, 2024

@PetarMax please rebase against the develop branch and remove the Set version ... commits before you merge; when working on the new K repo your branches need to be based on develop rather than master.

This also applies to bringing the branch up to date; merge in develop rather than master when you git merge ... locally.

@PetarMax PetarMax force-pushed the petar/constraint-order branch from d3f5e0b to 2ba0982 Compare April 22, 2024 15:54
@PetarMax PetarMax enabled auto-merge April 22, 2024 18:21
@PetarMax PetarMax merged commit f6a39b8 into develop Apr 22, 2024
18 checks passed
@PetarMax PetarMax deleted the petar/constraint-order branch April 22, 2024 19:19
rv-jenkins pushed a commit that referenced this pull request Apr 26, 2024
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants