Knowledge management and knowledge-based intelligence are areas of importance in the economy and society, and to exploit them fully and efficiently it is necessary both to represent and reason about knowledge via a declarative interface whose input language is based on logic. In this book, originally published in 2003, Chitta Baral shows exactly how to go about doing that: how to write programs that behave intelligently by giving them the ability to express knowledge and reason about it. He presents a language, AnsProlog, for both knowledge representation and reasoning, and declarative problem solving. The results have been organised here into a form that will appeal to practising and would-be knowledge engineers wishing to learn more about the subject, either in courses or through self-teaching. A comprehensive bibliography rounds off the book.