Topic outline

  • General

    Lecturers Jussi Rintanen
    Tommi Junttila
    Teaching assistant Saurabh Fadnis
    Time & place The lectures, exercises sessions and exams will be on campus (unless there are major changes in the Covid situation). The material and exercises will be available online.
    • Constraint programming and constraint satisfaction
    • The propositional satisfiability problem SAT
    • Algorithms for solving SAT, CSP
    • Normal forms and symbolic data structures such as Binary Decision Diagrams (BDD)
    • Symbolic state-space traversal
    • Linear Temporal Logic LTL, computer-aided verification
    • Model-checking with LTL
    • Arithmetic constraints and SAT modulo Theories (SMT)
    • Real-world applications (software engineering, electronic design automation, artificial intelligence)

    The Autumn 2022 edition of the course starts on September 7, welcome!

    • The participation of the course includes reading the course material, completing exercises, and taking an exam. Participation in lectures and exercise sessions is not obligatory.
    • To get help in the exercises, weekly exercise sessions are organized.
    • For the grading principles, please see the "Taking the course" section.
    • In order to obtain the credits, access the exercise system, and get the course announcements, please remember to register to the course in Sisu.

    The 10 rounds of the course are as follows (a tentative schedule):

    1. Propositional logic [lecture notes, see "Material" in the online exercises of the round for more]
    2. Fundamentals of SAT solvers [lecture notes, see "Material" in the online exercises of the round for more]
    3. Constraint Satisfaction problems
    4. Transition systems
    5. Symbolic (Logic-Based) Search, Binary Decision Diagrams
    6. Symbolic Search with SAT
    7. Modal and temporal logics
    8. Model-checking in verification and validation
    9. Satisfiability Modulo Theories I
    10. Satisfiability Modulo Theories II