Machine-translated by Google. Questions are authored in English.
Top

Discussion

Why do the declarative and procedural readings sometimes disagree?

  • A.The two readings use different definitions of entailment
  • B.The search strategy may fail to find a proof that exists
  • C.The declarative reading ignores the negation in the program
  • D.The procedural reading assumes a different logic entirely

Answer: B

A left recursive rule is perfectly true declaratively and sends a depth first interpreter into an infinite loop, so the program means one thing and does another. Reordering clauses changes the behaviour without changing the meaning. Negation, logic and entailment are the same in both readings, though negation as failure complicates the declarative account separately. A gap between what a program means and what it does is uncomfortable precisely because the language's appeal rests on the two coinciding.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.