This book is an introduction to logic programming and PROLOG for beginners and also covers some advanced topics.

**Description**

Logic programming and one of its representatives, PROLOG, make a declarative approach to writing computer programs. Logic programs can be understood and studied using two abstract concepts: truth and logical deduction. One can ask whether an axiom in a program is true, under some interpretation of the program symbols, or whether a logical statement is a consequence of the program. These questions can be answered independently of any concrete execution mechanism.

On the contrary, Prolog is a programming language with precise operational meaning that borrows its basic concepts from logic programming. The Prolog programs are instructions for execution on a computer. These instructions can almost always be read as logical statements and, most important, the result of a computation of a Prolog program is a logical consequence of the axioms in it.

Note, that effective Prolog programming requires an understanding of the theory of logic programming.

**Table of Contents**

- Prolog in Examples
- First Steps in Prolog
- Genealogy Database
- Representing Data Structures
- Data Flow and Recursion
- Recursion in Detail
- Top Down vs. Bottom Up Computation
- Prolog Data Structures
- Terms, unification and operators
- List Processing
- Combinatorics
- Sorting
- Sets in Prolog
- Generalized List Processor
- Arithmetic Expressions
- Boolean Expressions
- Graphs in Prolog

**Book Details**