This page is located in archive. Go to the latest version of this course pages. Go the latest version of this page.

LUP – Logical reasoning and programming

This page provides information for the class B4M36LUP - Logické usuzování a programování as well as its English-language counterpart BE4M36LUP - Logical reasoning and programming, which are taught jointly. The lectures are held in English if at least one student in the room is non-Czech.

The course's aim is to explain selected significant methods of computational logic. These include algorithms for propositional satisfiability checking, logical programming in Prolog, and first-order theorem proving and model-finding. Time permitting, we will also discuss some complexity and decidability issues pertaining to the said methods.

Lecturers: Filip Železný and Karel Chvalovský


Date Lecturer Topic Resources
1 1.10. Chvalovský Introduction, propositional logic, and SAT slides
2 8.10. Chvalovský SAT solving - resolution, DPLL, and CDCL slides
3 15.10. Železný Introduction to Prolog slides
4 22.10. Železný Prolog: SLD trees, cuts slides
5 29.10. Železný Prolog: search algorithms slides
6 5.11. Železný Prolog (search algos cont'd)
7 12.11. Chvalovský Answer set programming slides
8 19.11. Chvalovský First-order logic slides
9 26.11. Chvalovský First-order resolution slides
10 3.12. Chvalovský First-order resolution and equality slides
11 10.12. Chvalovský First-order tableaux and model finding slides
12 17.12. Chvalovský Complexity and decidability issues, SMT slides
13 7.1. Chvalovský Proof assistants slides

Note that the titles and topics of future lectures are tentative and subject to change.


Date Tutor Topic Resources
1 1.10. Chvalovský General discussion and exercises on propositional logic exercises
2 8.10. Chvalovský Resolution and SAT solving exercises
3 15.10. Černoch Prolog as a database exercises
4 22.10. Černoch Lists in Prolog exercises
5 29.10. Černoch Efficient proramming in Prolog exercises
6 5.11. Černoch Search strategies exercises
7 12.11. Chvalovský Answer set programming exercises
8 19.11. Chvalovský First-order logic semantics exercises
9 26.11. Chvalovský First-order logic transformations exercises
10 3.12. Chvalovský First-order resolution and TPTP exercises
11 10.12. Chvalovský First-order proving and model finding exercises
12 17.12. Chvalovský First-order tableaux and SMT exercises
12 17.12. Chvalovský Proof assistants (Isabelle) exercises


Assigned Deadline Name BRUTE label Description Points
1 8.10. 29.10. Light Up LU task1 20
2 13.11. 5.12. Term Rewriting Systems TRS task2 15
3 11.12. 8.1. Modal logic ML task3 15



There will be 3 tasks (for 20, 15, and 15 points) assigned during the semester. You submit your solutions through UploadSystem. Late submissions are penalized.

An assessment is awarded if you receive at least 25 points for all your solutions.


The exam will be a written test (50 points), see a sample, and to pass you need at least 25 points. You are eligible for a grade only after you receive the assessment for labs. However, you can still attend the exam.

The final grade is based on the sum of points you receive for labs (max. 50 pts.) and the exam (max. 50 pts.) and follows university regulations:

Points Grade
100-90 A 1 excellent
89-80 B 1.5 very good
79-70 C 2 good
69-60 D 2.5 satisfactory
59-50 E 3 sufficient
<50 F 4 failed


Automated Theorem Provers

Model Finders

courses/lup/start.txt · Last modified: 2019/01/15 15:31 by chvalkar