Advanced Logic Programming

CSC 491 Sec 9

Contents

Introduction
Required Text
Other Reading Material
Lecture Notes
Software Systems
Course Outline
Course Info

Introduction

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 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


Prolog Programming for Artificial Intelligence, by Ivan Bratko,
Addison Wesley; 3rd edition, 2000

Other Reading Material

LectureNotes

Software Systems

Course Outline

  1. Advanced Prolog concepts and programming techniques
  2. Horn clause logic and its foundations
  3. Beyond Horn clause logic
    • constraint logic programming (CLP)
    • horn clause logic with equality
  4. Equational logic
    • semantic and computational models
    • programming in BOBJ
  5. Inductive logic programming
    • machine learning with first order logic
  6. Temporal logic - if time permits
    • embedding the concept of time into first order logic

Course Info

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 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