
Computational Logic Course Material

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.
- Introduction and Motivation (w/verification).
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Introduction and Motivation (older).
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Some Textbooks and References.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- "Hands-on"
Intro to Logic Programming.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
Code.
-
The Prolog Programming Language.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
Code.
- Efficiency
Issues in Prolog.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- The Ciao Programming System.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- The
LPdoc Automatic Documenter.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- Automated
Deduction Fundamentals.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- First
Order Logic and Logic Programming Theory.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Same, but just the model and fixpoint semantics.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Constraint
Logic Programming.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
Program Examples (in Ciao).
- Constraint
Programming: Finite Domains.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- CLP: operational, model, and fixpoint semantics.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- WWW
programming using LP/CLP systems.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
Code.
- Intro to Prolog Implementation: The WAM, from Hassan
Ait-Kaci.
[slides pdf,
book pdf,
book website]
Manuel Hermenegildo's 1989 original slides.
[pdf,
pdf-2perpage,
ps,
ps-2perpage]
- Parallel Execution of
Logic Programs.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Global Analysis of
LP/CLP by Abstract Interpretation.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- The
Ciao System Preprocessor (CiaoPP).
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- Abstract Specialization and its Applications.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- Operational and Axiomatic Semantics (very simple intro).
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- Concurrent
(Constraint) Logic Programming.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html]
- Distributed/Internet
programming using LP/CLP systems.
[pdf,
pdf-2perpage,
ps,
ps-2perpage,
html].
- 5-day seminar on
CLP.

General Note: We used to start with basic theory (resolution,
etc..), then Logic Programming, then Prolog, CLP(*) and Concurrent
LP. Lately, we have 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.)

Last modified: Mon Sep 19 23:35:32 2005