There's something quite illuminating with this first "horror", where they basically say "it's OK to report wrong answers, because you can check the answers". I don't think I've ever felt like it's OK for my program to provide a list of answers where some are right and some are wrong, but reading this... and generally believing in P != NP.... maybe that's a decent way of looking at some stuff!
The article server is offline, but I assume they found out that prolog rule evaluation depends on the order the rules are presented in the program. If so, the language they thought they were using (and that they should actually use) is datalog , not prolog . Datalog has declarative semantics: All facts that are derivable from the base database and the rules will be derived by the interpreter, and it will not add extr…
So it's not that they "discovered" anything about Prolog; they already knew the language inside out.
This article explains how to appropriately use Prolog declaratively and with full generality.