In this first lecture we provide an overview and introduction to the material and approach taken in this class.
Logic is a science studying the principles of reasoning and valid inference. Automated deduction is concerned with the mechanization of formal reasoning, following the laws of logic. In this course we study techniques for automated deduction, both from a high-level and low-level perspective.
The course begins with a general introduction to logic and means of defining a variety of logics. This part is based on Gentzen's calculus of natural deduction. We then show how the problem of proof search for natural deductions can be rendered in a sequent calculus, also due to Gentzen. Most forms of automated deduction can be traced to a sequent calculus of one form or another.
Present theorem proving techniques can be broadly classified into backward reasoning methods (from the proposed theorem to the axioms) and forward reasoning methods (from the axiom to the proposed theorem). We will discuss both, starting from the more intuitive backwards reasoning methods such as tableaux. We then change our perspective and show how forward reasoning methods can be made practical using the inverse method. Refinements and efficient implementation techniques for the inverse method will occupy us most of the semester.
The course is centered on a project, the implementation of a succession of theorem provers for intuitionistic logic. We chose intuitionistic logic (rather than classical logic), since it is of central importance in computer science, and since it exhibits phenomena which are obscured by special properties which hold only in classical logic.
The class will be organized into several small groups, each of which implements a complete theorem prover. Starting in week 3, I will set concrete goals and expect weekly project reports from each member of each group. Up until the midterm examination on October 8, there will also be weekly homeworks of a more theoretical nature. Doing the homework and participation in the projects are essential to achieve the goals of the class. At the end of the course I would like each student to