-
|
My new project is rewriting all my past Prolog to be monotonic, and I've come across this Reddit answer which states that many undesirable predicates are monotonic in the specific context where you, the programmer, verifies they are sufficiently instantiated:
So, my question is, does this apply to I very much do not like |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 13 replies
-
|
No, When I want negation in pure and monotonic Prolog I reify it and do it explicitly. How exactly are you using |
Beta Was this translation helpful? Give feedback.
-
|
Consider: Now add a further fact: And thus, what has been |
Beta Was this translation helpful? Give feedback.
-
|
As another monotonicity question, is |
Beta Was this translation helpful? Give feedback.
Consider:
Now add a further fact:
And thus, what has been
truebefore, is nowfalse. That is, even in a case when the argument of(\+)/1is sufficiently instantiated (and is terminating), monotonicity is not maintained. This is not an accidental implementation bug. It is intended.