Hide menu

TDDD08 Logic Programming

Lectures

Subject to modifications and alignments.
The linked files may be corrected/updated without notice. (Cf. the version number and the automatically generated compilation date.) The linked slides are in a form for printing (4 slides per page). Their original form (with hyperlinks) may be found in the same directory.
#1 Practical matters, objectives, introduction to logic programming
Handouts: [introduction], [puzzle solving program with a fragment of a trace], [transforming expressions into postfix form program], [grandchild/2 and similar predicates]
#2 Definite logic programs, declarative semantics (includes 1st order logic, repetition)
Handouts: [declarative semantics].
#3,4 Unification. Operational semantics.
[Handouts] on SLD-resolution. ( [Summary] on soundness and completeness.)
#5,6 Introduction to Prolog. Example programs.
Handouts: [Prolog], [example programs], [Prolog built-ins, a draft overview].
#6 Herbrand interpretations
[Handouts].
#7,8 Program correctness.
Handouts: [program correctness & completeness], [additional slides, the same with animation], [example correctness proofs, also Section 3 of this [article].
Declarative diagnosis.
Handouts: [overview used at the lecture], a more comprehensive [version].
#8 Difference lists. Definite Clause Grammars (DCGs)
Handouts: [difference lists], [DCGs],
#9,10 Constraints (Ch 14 and a supplementary chapter of [Nilsson,Maluszynski])
[Handouts]
#10,#11 Negation
Handouts: [informal introduction],
[negation, definite programs] (fragments on compl(P)),
[general programs part 1, the same one slide/page (with animations)]
#11,#12 Negation, general programs. Final comments.
Handouts: [general programs part 2]
Extra: control in Prolog, on termination of definite programs, a note on occur check
Lectures of 2013

Page responsible: Victor Lagerkvist
Last updated: 2015-10-11