Logic and Computability (WS 2025/26)

Course Number 705010 | Wintersemester 2025/26

Content

In this course, you will learn to understand logical formulas, use concise mathematical notation, formulate and solve problems in formal languages, and reason with logic both manually and algorithmically. We will use powerful tools, called SMT solvers, which can quickly solve complex problems involving constraints over integers, reals, first-order logic predicates, lists, and other data types. You will also be introduced to logical proof systems, gain the ability to construct proofs on your own, and master common proof techniques used in computer science.

The content of this lecture includes:

  • Syntax and semantics of logical formulas in propositional logic and first-order logic
  • The propositional satisfiability problem: DPLL algorithm and resolution proofs
  • Satisfiability Modulo Theories (SMT) and the DPLL(T) framework
  • Basics of logical reasoning (natural deduction)
  • Binary Decision Diagrams (BDDs)
  • Introduction to the SMT solver Z3

Material

The students will be provided with videos, slides, lecture notes, and a questionnaire.  
NR Date Topic Lecture Notes Slides Questionnaire Video
0 2025-10-06 Administrative Information + Teaser Slides 0
1 2025-10-13 Propositional Logic
2 2025-10-20 Natural Deduction for Propositional Logic
3 2025-10-27 SAT Solving
4 2025-11-03 Equivalence Checking + Symbolic Encoding
5 2025-11-10 Binary Decision Diagrams
6 2025-11-17 Predicate Logic
7 2025-11-24 Natural Deduction for Predicate Logic
8 2025-12-01 Solving SMT with Z3
9 2025-12-15 Satisfiability Modulo Theories I
10 2026-01-12 Satisfiability Modulo Theories II
11 2026-01-19 Decidability
12 2026-01-26 Training Exam
13 2026-01-28 Training Evening
The proof rules for Natural Deduction and the Tseitin's encoding rules can be used during the exam and in the exercise classes. You can watch videos explaining the topics covered in the lecture on TUbe.

Practicals - Materials and Timeline

Number Topic Kick-Off Deadline Assignment Solutions
1 Natural Deduction for Propositional Logic 2025-10-20 2025-10-26
2 SAT Solving 2025-10-27 2025-11-02
3 BDDs and Equivalence Checking 2025-11-03 2025-11-16
4 Predicate Logic 2025-11-17 2025-11-23
5 Natural Deduction for Predicate Logic 2025-11-24 2025-11-30
P1 Z3 Programming 2025-12-01 2025-12-14
6 Satisfiability Modulo Theories 2025-12-15 2026-01-18
P2 Z3 Programming 2025-12-01 2026-01-25
 

Administrative Information

Administrative Information - Lecture

Course Procedure

Lectures take place every Monday from 12:15–14:00 in room i12.

  • Exceptions will be announced under Lecture Dates below or via TUGrazonline.

  • Classes are interactive: we will work through the theory together and solve selected questionnaire problems.

  • Students will receive a questionnaire containing both theoretical and practical questions related to the lecture.

  • Exam questions will be selected from this questionnaire, though they may be slightly modified (e.g., adjusted formulas or reordered multiple-choice options).

Exams

  • Exam dates are scheduled via TUGrazonline; please make sure to register there.

  • Each exam lasts 90 minutes.

  • There will be at least three exam dates per semester.

Communication

For smooth communication throughout the semester, please join our Discord server via this link.

Administrative Information - Practicals

Course Procedure

There will be six pen-and-paper assignments and two practical programming assignments. In the pen-and-paper assignments, you will practice basic decision procedures and algorithms, as well as perform simple proofs by hand. The programming assignments will involve small examples using the Python library of Z3.

Practical Groups

Assignments will be discussed by students in live blackboard sessions during class. Please register for one of the ten regular groups. In addition, two special groups are available: Early Bird and Late Bird. If you cannot attend the regular sessions (15:00–16:00 or 16:00–17:00), you may contact the lecturers to request a place in either the Early Bird group (08:00–09:00) or the Late Bird group (18:00–19:00).

Absence from Practical Classes

Attendance at practical classes is compulsory. Exceptions may be granted for justified reasons (e.g., illness). In such cases, students must tick and upload their solutions on time (according to the assignment deadline) and present them in a replacement interview, which will be held the following Monday.

Submission of Pen-and-Paper Assignments

Students must tick the tasks they have solved via the TeachCenter. The deadline for ticking is Sunday, 23:59, before the respective practical session. During class, students will be randomly selected to present their solutions. Marking a task as solved in the TeachCenter counts as entering the examination for the practicals.

Submission of Programming Assignments

Programming assignments will be submitted via Git. You will receive your repository after the registration deadline for the course has passed. The first programming assignment will be discussed in class, with students randomly selected to present their solutions. The second programming assignment will be assessed through individual interviews at the end of the semester.

Grading

If students are unable to explain their solution, or if the solution is completely incorrect, they may lose up to 100% of the points for that assignment. Minor errors or typos will not result in point deductions.

  • Students in the SC curriculum 2025 are required to complete the 2 ECTS version of the practicals.

  • Students in the SC curriculum 2024 or earlier may instead complete the 1 ECTS version, which is identical to the 2 ECTS version but without the programming assignments.

Grading Scheme for the 2 ECTS Practicals

  • Assignments 1–6: 6 × 10 points

  • Programming Assignments 1–2: 10 + 30 points

  • Assignments may include bonus points.

Points Grade Description
≥ 87.5 (1) Sehr Gut Excellent
≥ 75.0 (2) Gut Good
≥ 62.5 (3) Befriedigend Satisfactory
≥ 50.0 (4) Genügend Sufficient
< 50.0 (5) Nicht Genügend Insufficient

Grading Scheme for the 1 ECTS Practicals

  • Assignments 1–6: 6 × 10 points

  • Assignments may include bonus points.

Points Grade Description
≥ 52.5 (1) Sehr Gut Excellent
≥ 45.0 (2) Gut Good
≥ 37.5 (3) Befriedigend Satisfactory
≥ 30.0 (4) Genügend Sufficient
< 30.0 (5) Nicht Genügend Insufficient

Usage of Generative AI

We follow the general TU Graz guidelines on the use of generative AI.

Contact

For any questions, please contact Bettina Könighofer or Stefan Pranger.

Lecture Dates

Date Begin End Location Event Type Comment
2025/10/16 08:00 10:00 HS i2 Abhaltung VO fix/
2025/10/16 08:00 10:00 HS i2 Abhaltung VO fix/
2025/10/20 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/10/30 09:00 11:00 HS A Abhaltung VO fix/
2025/11/03 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/11/10 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/11/17 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/11/24 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/12/01 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2025/12/15 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2026/01/12 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2026/01/19 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2026/01/26 12:00 14:00 HS i12 "DynaTrace Hörsaal" Abhaltung VO fix/
2026/01/28 16:00 19:00 HS i9 Abhaltung VO fix/

Lecturers

Bettina Könighofer
Bettina
Könighofer

Assistant Professor

View more