# Book: “Knowledge representation and reasoning”

Lately I have been reading “Knowledge representation and reasoning: Logical, Philosophical, and Computational Foundations” by John Sowa and I am seriously enjoying it. Chris mentioned a very simple analogy used in the book to explain the difference between the directionality inherit in a computation and declarative notations (btw… my apologies to Chris for mixing velocity with acceleration when I told him about this :-)

Here’s the quote from the book:

*“As purely declarative notations, logic and mathematics have no inherent directionality. A computation, however, always has a purpose. It must thread its way through a tangle of relationships to find the answer to some question. As an example, Newton’s famous equation relates the force F on a body to its mass m and acceleration a:*

*F= ma.*

*By the way it’s written, this equation suggests that force is the unknown result to be computed from the given mass and acceleration. Yet the equation could just as well be used to compute the mass from F and a or the acceleration from F and m.*

*Similar observations apply to logical implications, which can be used in forward-chaining or backward-chaining applications…”* (“Knowledge representation and reasoning: Logical, Philosophical, and Computational Foundations”, John Sowa, Brooks/Cole, 2000)

The book is great so far (I am half way into it). It talks about the philosophy of knowledge representation and reasoning from the Greek to modern-day philosophers and the approaches to building systems; from ontologies and semantics, to logic, message processing, object-orientation and functional programming. It’s a great text book which I didn’t have the pleasure of reading when I was an undergraduate.