Information about the course Automated Reasoning (2IMF25)

This course will be given in the fall of 2017, in the second quartile.
Lectures from 2013 (having code 2IW15) are available on video

Teacher: Prof Dr H. Zantema, Metaforum 6.078, tel 2749, h.zantema@tue.nl

Students from the Radboud University in Nijmegen that (want to) follow this course should go to special information for Radboud University

Goal:
Obtaining insight how various problems can be transformed to formulas, and can be solved automatically by computer programs manipulating these formulas.


Contents:
Many problems, in particular in the area of verification of computer systems, can be expressed as proving that some big formula is always true. In this course we will concentrate on various methods for treating this kind of problems. Not only correctness and completeness of these methods will be considered, also efficiency and usability. In particular we will consider:



Examination:
The examination consists of two parts: a written exam and a practical assignment. The written exam is `closed book': no use of books or notes is permitted during the exam. The practical assignment is done by at most two persons. In case the practical assignment is done by two persons, each of them should be responsible for the whole work, possibly checked by an individual test. The practical assignment has two deadlines: December 11, 2017 for the first part, and January 11, 2018 for the second part.
The reports of the practical assignment should be handed in on paper (printed two-sided, preferably less than 20 pages). This can be done at the lecture, or at the office MF6.078 of the lecturer, or in his mail box opposite to room MF6.085.

The results of both parts of the practical assignment (December 2017, January 2018)

For both the written exam and the practical assignment, the grade should be at least 5.0. In that case the final grade is the average of both parts, each having the same weight. Otherwise the final grade is the minimum of both parts.


To be downloaded:


Some of the material of the course is based on the books:

S. N. Burris:
Logic for Mathematics and Computer Science
Prentice Hall, 1998, ISBN 0-13-285974-2

C. Meinel and T. Theobald:
Algorithms and Data Structures in VLSI Design
Springer, 1998, ISBN 3-540-64486-5

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein:
Introduction to Algorithms
MIT Press, 2009, ISBN 978-0-262-53305-8
Third Edition, only Chapter 29


Lectures and topics (updated after every lecture):


date topic slides
Monday, November 13 Overview, pigeon hole formula, SAT is NP-complete, arithmetic (addition) in SAT 1 to 33
Thursday, November 16 Multiplication, program correctness by SAT, resolution, Davis-Putnam procedure 33 to 59
Monday, November 20 Completeness of resolution, DPLL, conflict driven clause learning 60 to 83
Thursday, November 23 Conflict driven clause learning, Tseitin transformation 84 to 109
Monday, November 27 Linear programming: Simplex method, SMT solving 110 to 137, slides for mooc
Thursday, November 30 SMT solving, ILP is NP-hard, unique representation, reachability 138 to 167
Monday, December 4 NuSMV, Decision trees and BDDs 168 to 194
Thursday, December 7 BDDs, predicate logic 195 to 227
Monday, December 11 Predicate logic, resolution, unification 228 to 249
Thursday, December 14 Prolog, prenex normal form, Skolemization, Prover9, equational reasoning 250 to 270
Monday, December 18 Term rewriting: main properties, termination undecidable, termination by monotone interpretations 271 to 288
Thursday, December 21 Termination by monotone interpretations and lexicographic path order, well-founded induction, Newman's Lemma, critical pairs 289 to 304
Monday, January 8 Term rewriting: critical pairs, word problem, Knuth-Bendix completion 305 to 315
Thursday, January 11 Critical pairs, overview course, old exam (last lecture) 316 to 321



Last change: January 18, 2018