Skip to content

Add support for quantifiers #3993

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

Merged
merged 28 commits into from
May 13, 2025
Merged

Conversation

qinheping
Copy link
Contributor

This PR add support for quantifiers. Especially, we inline function calls in quantified expressions so that the result statement-expression can be accepted by the CBMC backend.

RFC: RFC 0010-quantifiers.

Resolves #2546 and #836.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

feliperodri and others added 3 commits April 7, 2025 06:25
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
Signed-off-by: Felipe R. Monteiro <felisous@amazon.com>
@qinheping qinheping requested a review from a team as a code owner April 7, 2025 06:34
@github-actions github-actions bot added the Z-BenchCI Tag a PR to run benchmark CI label Apr 7, 2025
Copy link
Contributor

@carolynzech carolynzech left a comment

Choose a reason for hiding this comment

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

I've only looked at the tests so far. I'm not sure that this makes sense to merge if the only kinds of harnesses that we can run are the ones in no_array.rs. IMO the main benefit of quantifiers is quantifying over some collection (array, vector, ...), so we should either block this PR until that's possible, or I would expect to see some expected tests to prove that it works.
Also, can we move the tests to expected and have some assertions about particular properties that are being checked?

@tautschnig tautschnig assigned carolynzech and unassigned qinheping Apr 30, 2025
Copy link
Contributor

@carolynzech carolynzech left a comment

Choose a reason for hiding this comment

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

Thanks!

@qinheping qinheping requested a review from carolynzech April 30, 2025 17:04
Copy link
Contributor

@carolynzech carolynzech left a comment

Choose a reason for hiding this comment

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

🚀

@carolynzech carolynzech removed their assignment May 8, 2025
@qinheping qinheping added this pull request to the merge queue May 13, 2025
Merged via the queue into model-checking:main with commit db238e6 May 13, 2025
26 checks passed
@qinheping qinheping deleted the quantifiers branch May 13, 2025 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Z-BenchCI Tag a PR to run benchmark CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Quantifiers for function contracts
5 participants