Hacker News new | ask | show | jobs
by sdbrady 2651 days ago
Thanks for sharing. There is one very significant conceptual error early on, however, and it is captured first in this statement: "The :- means if and only if, or iff". `:-` means if - or more precisely represents material conditional - where the consequent is on the left and the antecedent is on the right. iff is logical biconditional.
2 comments

Indeed, ":-" is meant to represent the left-facing arrow of implication. In logic programming papers it is common to typeset it as an actual arrow, for example:

  p(X,Y) ← q(Y,X)
etc.
Hi Stephen. You are absolutely right, thank you for the feedback! I have edited accordingly.
I always remind myself that it's not an if-and-only-if with this argument: since there could always be another rule that is satisfied to make that fact true, it can't be iff.