-
Notifications
You must be signed in to change notification settings - Fork 16
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
Additional model if preprocessor is enabled #84
Comments
@rkaminsk Thanks for the report. Maybe interesting: running |
I could try to have a look too. The program is so small that it should be possible to trace everything that happens. |
The program can be made smaller:
which is equivalent to
Strangely removing the rule with |
Here is the smallest program I managed to come up with:
or as text
The preprocessed program is the shifted program below:
So the preprocessor seems to work alright and the problems occurs afterward. EDIT: Sorry for the many updates. |
Thanks, @rkaminsk 👍 |
Looks like the shifted rules are not correctly represented in the program dependency graph used in the unfounded set checker.
the body is replaced with a single atom during shifting. I.e. instead of creating the rule Note: This is mostly a note for me so that I remember what to investigate once I find a couple of hours 😄 |
* When shifting disjunctive rules, we cannot simply use an existing (root) atom as shortcut because this could change the program's SCCs, which have already been computed at this point. * Of course, instead of dropping the simplification, we could instead just re-compute SCCs but this would require some larger changes and its not clear whether there's any benefit.
* When shifting disjunctive rules, we cannot simply use an existing (root) atom as shortcut because this could change the program's SCCs, which have already been computed at this point. * Of course, instead of dropping the simplification, we could instead just re-compute SCCs but this would require some larger changes and it's not clear whether there's any benefit.
Disabled the problematic simplification for now. |
Thanks so much! |
The program below reports one model too much if the preprocessor is enabled:
Compare:
and
The text was updated successfully, but these errors were encountered: