## ContentsIntroductionRequired Text Other Reading Material Lecture Notes Software Systems Course Outline Course Info |

## IntroductionLogic 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 logic systems.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.. ## Required Text
## 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, 19,20:629-679, 1994.
*Temporal Logic*, by Anthony Galton, in the*Stanford Encyclopedia of Philosophy*.
## LectureNotes## Software Systems- SWI Prolog
- BOBJ jar file (executable) - equational programming, the BOBJ ftp site, and the BOBJ homepage
- Progol - inductive logic programming
## Course Outline- 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
- Equational logic
- semantic and computational models
- programming in BOBJ
- Inductive logic programming
- machine learning with first order logic
- Temporal logic - if time permits
- embedding the concept of time into first order logic
## Course InfoThis 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 presenting material. 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: hamel@cs.uri.edu |