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

feat: implement predicate and assumption solving in python wrapper #150

Merged
merged 1 commit into from
Feb 13, 2025

Conversation

maartenflippo
Copy link
Contributor

Assumption solving in the Rust layer currently performs semantic minimisation of the core. E.g. if the assumptions contain [y <= 1] and [y != 0], and the domain of y starts at 0, then the core may contain [y == 1] rather than the original predicates in the assumptions.

@EmirDe
Copy link
Contributor

EmirDe commented Feb 11, 2025

I am wondering if this may be unexpected from the user side. They may expect that the core is just a subset of the assumptions.

Related to this, if we would do core lifting somehow, that also might be unexpected from the user.

I suppose this means that the definition of a core as the subset of assumption is not proper?

Could be useful to check with Ignace for instance?

Copy link
Contributor

@ImkoMarijnissen ImkoMarijnissen left a comment

Choose a reason for hiding this comment

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

I think it would be better if we simply do not perform semantic minimisation when extracting cores

@maartenflippo
Copy link
Contributor Author

After some exploration, I found that disabling semantic minimisation of the core is more tricky than anticipated. This is because the solver splits up equality literals, and we rely on semantic minimisation to merge those.

We should create a separate PR that fixes the issues with core extraction and minimisation, rather than shoe-horn it into this one.

@maartenflippo maartenflippo merged commit 3cfa26c into develop Feb 13, 2025
5 checks passed
@maartenflippo maartenflippo deleted the feat/python-assumption-solving branch February 13, 2025 10:57
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.

3 participants