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

Fix multiple applicable rules with bottom-up rewriter #552

Closed
1 of 3 tasks
niklasdewally opened this issue Dec 9, 2024 · 3 comments
Closed
1 of 3 tasks

Fix multiple applicable rules with bottom-up rewriter #552

niklasdewally opened this issue Dec 9, 2024 · 3 comments
Assignees
Labels
area::rules Related to rewrite rules kind::bug Something isn't working

Comments

@niklasdewally
Copy link
Collaborator

niklasdewally commented Dec 9, 2024

In #528, we introduced a simple rewriter demonstrating the rule application semantics we want to move towards.

The aim of this issue is to fix the "multiple rules are equally applicable" errors this change caused.

Currently, this error is disabled on main due to prop_multiple_equally_applicable=false being set.

Tasks

  • Removing remove_empty_expression #427
  • Set prop_multiple_equally_applicable=true
  • Do another pr which extracts "write a separate test which generates this for a given backend solver and tests it using generated/expected style. Good for documentation too." into a separate test

CC: @ozgurakgun

@niklasdewally niklasdewally added kind::bug Something isn't working area::rules Related to rewrite rules labels Dec 9, 2024
niklasdewally added a commit that referenced this issue Jan 15, 2025
Add --check-equally-applicable-rules and
--no-check-equally-applicable-rules flags to enable / disable the naive
rewriters multiple equally applicable rules assertion via the
command line.

As before, this assertion is disabled by default.

Issue: #552
niklasdewally added a commit that referenced this issue Jan 16, 2025
Add --check-equally-applicable-rules and
--no-check-equally-applicable-rules flags to enable / disable the naive
rewriters multiple equally applicable rules assertion via the
command line.

As before, this assertion is disabled by default.

Issue: #552
niklasdewally added a commit that referenced this issue Jan 16, 2025
Add --check-equally-applicable-rules and
--no-check-equally-applicable-rules flags to enable / disable the naive
rewriters multiple equally applicable rules assertion via the
command line.

As before, this assertion is disabled by default.

Issue: #552
niklasdewally added a commit that referenced this issue Jan 21, 2025
Enable the `prop_multiple_equally_applicable` rewriter assertion in the
integration tester. This check panics if a given expression has two
rules of the same priority applicable to it.

All tests pass with this enabled.

For performance reasons, I think it is best to keep this disabled by
default in the CLI.

Issue: #552
@niklasdewally niklasdewally self-assigned this Jan 21, 2025
niklasdewally added a commit that referenced this issue Jan 22, 2025
Enable the `prop_multiple_equally_applicable` rewriter assertion in the
integration tester. This check panics if a given expression has two
rules of the same priority applicable to it.

All tests pass with this enabled.

For performance reasons, I think it is best to keep this disabled by
default in the CLI.

Issue: #552
niklasdewally added a commit that referenced this issue Jan 22, 2025
Enable the `prop_multiple_equally_applicable` rewriter assertion in the
integration tester. This check panics if a given expression has two
rules of the same priority applicable to it.

All tests pass with this enabled.

For performance reasons, I think it is best to keep this disabled by
default in the CLI.

Issue: #552
@niklasdewally
Copy link
Collaborator Author

niklasdewally commented Jan 22, 2025

Do another pr which extracts "write a separate test which generates this for a given backend solver and tests it using generated/expected style. Good for documentation too." into a separate test

@ozgurakgun does this still need doing? If so, could I have a bit more info on what needs doing for this?

@niklasdewally
Copy link
Collaborator Author

I also think it could potentially be spun off into a separate issue

@ozgurakgun
Copy link
Contributor

I can't parse that any more :) Feel free to close, if it was important we will get back to it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area::rules Related to rewrite rules kind::bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants