-
Notifications
You must be signed in to change notification settings - Fork 2
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 option to support founded constraints. #63
Comments
Interesting. I think a key issue here is to specify mathematically why is Also, it seems that the solution with
by these ones?
One would expect that such replacement should not change the fact that All this goes back to the original question:
It seems to me that point 2 has not been considered when defining the semantics of clingo-dl, even in the propositional case: is this correct? |
For now, my answer is that you can use DL constraints in the head and things work nicely. Then an answer set is kept whenever the derived constraints are satisfiable. A semantics that also works nicely with constraints in the body is a research question. |
Sounds good to me. It would be nice to have a definition that covers programs with variables and DL constraints in the head, and |
Then someone has to go ahead and write one. Maybe as part of a paper or thesis to have some synergies. Unfortunately, it does not really fit into what I am working on right now. 😉 |
Playing a bit with some ideas I stumbled above a glitch and a bug. The bug is that clingo-dl enumerates two (equal) answer sets for the program below. The glitch is that it assigns &diff { z - 0 } <= -3.
&diff { x - y } >= 0.
{ c }.
:- c.
&diff { y - z } <= 0 :- c. The bug can be prevented by writing it like this: &diff { z - 0 } <= -3.
&diff { x - y } >= 0.
{ c; d }.
:- c, d.
:- c, not d.
:- not c, d.
&diff { y - z } <= 0 :- c. EDIT: I opened bug report in clasp's issue tracker: potassco/clasp#71. |
We'll leave this to fclingo. |
@wanko and @javier-romero, it is relatively easy to provide founded constraints similar to what we did in lc2casp.
Consider the following program:
We can rewrite the program into:
Now that I thought about this a little longer, there is a problem. There can actually be spurious answer sets.
For the program
clingo-dl
outputs the solutions{ x=0, y=0 }
and{ x=2, y=0 }
. The second one is undesired and also depends on the kind of simplifications performed. The same would happen if we add the foundedness atoms.The text was updated successfully, but these errors were encountered: