CLIP

Computational Logic Course Material

Resolution, Logic Programming, and Constraint Logic Programming


This page provides some course material in Computational Logic, covering both theory and practice.

Different parts of this material are currently used in undergraduate and graduate courses at our institutions (School of Computer Science, Technical University of Madrid and Departments of Computer Science and Electrical and Computer Engineering, University of New Mexico) as well as in several other institutions.

These courses have been developed and are taught by members of the CLIP group and other contributors. There is much more information available on the CLIP (Computational Logic, Implementation and Parallelism) research group and our Computational Logic Software.

Please note that these pages are all under permanent construction/change. Suggestions, comments, questions, raves, rants, etc., should be directed by email to <clip@clip.dia.fi.upm.es>.

You are welcome to use all or part of this course material, we only ask you to please quote the origin. We would also very much appreciate if you let us know that you are using it and also that you send us by email to the address above any error corrections or improvements you may make to this material. Thanks in advance.


Computational Logic Slides:

The pdf pointers point to the full size PDF versions, suitable for viewing on-line with, for example, acroread, xpdf, ghostscript/ghostview, etc. The ps pointers point to the full size PostScript versions, suitable for viewing on-line with, for example, ghostscript/ghostview. The pdf2perpage and ps2perpage pointers point to reduced PDF/PostScript versions (two or more slides per page), which are suitable for printing. The html pointers point to the html versions, suitable for WWW browsing. General Note: We used to start with basic theory (resolution, etc..), then Logic Programming, then Prolog, CLP(*) and Concurrent LP. Eventually, we decided to start directly with a quick introduction to Logic Programming and Prolog programming, presenting only afterwards theory, CLP, and Concurrent (C)LP. This is the version in these pages -- which is not very different from the previous one, except for the order. If you prefer to start with theory, just use the lp_theory slides first and remove some slides (first order languages and unification, mainly) from logic_programming.tex.

(One of the reasons for doing things the way we do them is that our students take two semesters of logic prior to this course and are therefore quite familiar with, e.g., resolution, but not with logic programming. We feel it is best for student motivation to get as quickly as possible to the practical use of the programming tools.)