-
Notifications
You must be signed in to change notification settings - Fork 11
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
Add additional simple support nogoods #226
Conversation
Codecov Report
@@ Coverage Diff @@
## master #226 +/- ##
============================================
- Coverage 77.46% 77.36% -0.10%
+ Complexity 2312 2311 -1
============================================
Files 178 178
Lines 7782 7792 +10
Branches 1352 1355 +3
============================================
Hits 6028 6028
- Misses 1334 1337 +3
- Partials 420 427 +7
Continue to review full report at Codecov.
|
Build fails because of #239, but I do not think the cause for this issue comes from this pull request. |
Thank you for the reminder. This PR adds certain completion nogoods, which is a good step in the right direction. There is, however, also a more principled approach in the direction of adding completion noogods currently under development (see PR #283 ). What is added here, also gets generated in #283 and more. I am currently working on the completion branch/PR (it needs a complete restructuring itself to cover more cases), with the goal of getting it ready in the next month. It is quite likely that this contribution here will be overwritten/redone/removed with #283. Do you still want it merged at this time? |
Yes please, because having ready features merged to master reduces maintenance efforts when we need them in other branches. Thanks for your work on #283 though! |
I just found out that this pull request is buggy, because it does not check for multiple ground rules whose heads are of the same predicate if the heads are actually different. For example, consider the following program:
With this pull request, completion nogoods for both rules are created individually, which is wrong. Therefore, @AntoniusW I´m retracting this pull request and hope to be able to use your feature soon! I suggest you incorporate a unit test for this very condition in your branch. |
If there are multiple ground rules in the input program (i.e., before grounding!), each with a unique ground head, we can generate completion nogoods for each of them. So far this did not happen if the unique ground heads were of the same predicate.