Logic programming brings the nature of formal reasoning based on axioms
and inferences into the realm of programming. An immediate
consequence is that we are less concerned with the procedural aspects
of programming and focus on the declarative nature of problem
specification. Here we specify properties of the problem to be solved
as axioms and the solution is attained via deductions in the respective
In this reading course we will examine advanced techniques in perhaps
the oldest and best known logic programming language Prolog. We
will also take a look at foundations of horn clause logic and will
extend the logic programming paradigm to other logics such as
equational logics as well as constraint and inductive logic programming.
We will read classic as well as application specific papers in each of
these areas. I would expect that each of the students would pick
a set of papers and book chapters to read and present the material to the class. We
will meet once a week for 60-90mins to discuss papers and book chapters.
Finally, each student would be required to do a project of their chosing
in some logic programming language; this could be prolog, equational
logic, inductive logic, etc. Probably half way through the
semester I will ask each of you to put together a project proposal..
|Prolog Programming for Artificial
Intelligence, by Ivan Bratko,
Addison Wesley; 3rd edition, 2000
Other Reading Material
- A Quick Introduction to Prolog
- A Quick Introduction to (B)OBJ
- Logic, Programming and
Prolog, by Ulf Nilsson and Jan Maluszynski, 2nd edition.
Relevant chapters of this book will be handed out in class.
- Theorem Proving and
Algebra, by Joseph Goguen, draft. Relevant chapters of this book
will be handed out in class.
- Inductive logic
programming: Theory and methods, by S.H. Muggleton
and L. De Raedt, Journal of Logic Programming,
Logic, by Anthony
Galton, in the Stanford
Encyclopedia of Philosophy.
- Advanced Prolog concepts and programming techniques
- Horn clause logic and its foundations
- Beyond Horn clause logic
- constraint logic programming (CLP)
- horn clause logic with equality
Inductive logic programming
- semantic and computational models
- programming in BOBJ
Temporal logic - if time permits
- machine learning with first order logic
- embedding the concept of time into first order logic
This course is offered as a reading course, that is, you will need to
enroll in CSC491 Sec 9 (independent study). We will take turns in
This course meets every Thursday from 3:30pm to 5pm, Bliss Hall Rm 211.
There will be an informational meeting
on January 26th at 3:30. Interested students
are encouraged to attend this informational meeting. For more information please feel free
to contact me: email@example.com