15-819K Logic Programming
| Fall 2006 |
| Frank Pfenning |
| TuTh 10:30-11:50 |
| WeH 4623 |
| 12 units |
Logic programming is a paradigm where computation arises from proof
search in a logic according to a fixed, predictable strategy. It
thereby unifies logical specification and implementation in a way that
is quite different from functional or imperative programming. This
course provides a thorough, modern introduction to logic programming.
It consists of a traditional lecture component and a project component.
The lecture component introduces the basic concepts and techniques of logic
programming followed by successive refinement towards more efficient
implementations or extensions to richer logical concepts. We plan
to cover a variety of logics and operational interpretations. The
project component will be one or several projects related to logic
Prerequisites: For undergraduates,
15-317 Constructive Logic or
15-312 Foundations of Programming Languages.
No prerequisites for graduate students.
|| TuTh 10:30-11:50, WeH 4623
| Office Hours
Wed 11:00-12:00, WeH 8117
There is no textbook, but notes on Logic Programming
and papers will be handed out
|| 12 units
|| 30% Homework, 15% Midterm, 55% Project
Weekly homework is assigned each Thursday and due the following Thursday.
Date Thu Oct 19, in class.
Project topic or topics will be selected after the midterm.
|| Horn logic, intuitionistic logic, linear logic,
unification, constraints, backward chaining, backtracking,
forward chaining, saturation,
proof terms, higher-order patterns, concurrency,
resource management, logical compilation.
Time permitting: deontic, epistemic, or other modal logics,
reasoning about logic programs.
| Mailing List
|| lp-course@cs [.cmu.edu]