Master Seminar: Programming in Prolog (SoSe 2026)
- Time: Mondays 12:00-14:00 (13 April 2026 – 13 July 2026)
- Location: Oettingenstraße 67, U139
- Instructor: Prof. Dr. François Bry
News
28 April 2026: Changer of topics
The topics of the venues of 15 JHune and 22 June have been exchanged (on the students' request).
16 April 2026: Change in the schedule
There will be an additional seminar venue on Monday 04 Mai, see below the revised schedule.
04 April 2026: Message from the examination office
- Once a seminar topic has been assigned to a student, the examination is deemed to have commenced. If the student subsequently leaves the seminar, the student will be given the examination grade ‘fail’.
- Students must nevertheless explicitly register themselves for the examination via LSF. This registration is expected to be possible in the second half of April, once the seminar topics have been assigned.
Overview
Prolog is a declarative programming language used among others for rapid prototyping, knowledge representation, and symbolic artificial intelligence —among others causal reasoning and explainable artificial intelligence.
Prolog is based on a fragment of first-order logic and a restricted form of resolution proofs. Prolog departs from classical mathematical logic in a few aspects, most notably in its treatment of negation.
The seminar aims at discovering Prolog, understanding Prolog's semantics, and learning typical Prolog programming techniques.
The seminar talks are expected to be given in English. The seminar reports can be written in English or German. A seminar presentation and its associated written report will be worked out either by two students working in team, or by a single student.
Material
Prolog Tutorial
Markus Triska: The Power of Prolog, 2005, revised 2025 https://www.metalevel.at/prolog/
Remark:
- This tutorial refers mostly, but not only tho the Prolog system "Scryer Prolog" (see https://www.scryer.pl/ )
Online Prolog systems
- CIAO Prolog: https://ciao-lang.org/playground/
- https://nextleap.app/online-compiler/prolog-programming
- One Compiler: https://onecompiler.com/prolog
- SWI Prolog: https://swish.swi-prolog.org/
- Tutorials Point: https://www.tutorialspoint.com/compilers/online-prolog-compiler.htm
Schedule
The topics mentioned below refer to Chapters of the tutorial: Markus Triska: The Power of Prolog, 2005, revised 2025 https://www.metalevel.at/prolog/
Mo 13 April
Topic assignment
Mo 20 April
Supervision
Mo 27 April
Chen Xiao: Basic Concepts - Prolog Data Structures
Mo 04 Mai
Maximilian Hofstetter: Higher-order Predicates and Logical Purity
Mo 11 May
Rasmus Leander Valeth: Reading Prolog Programs and Writing Prolog Programs - Termination and Nontermination
Mo 18 May
David Peter Schrank and Daniel Stephan Kratzer: CLP(FD) and CLP(ℤ): Prolog Integer Arithmetic
Mo 25 May Holliday
Mo 1 June
No venue
Mo 8 June
Alexander Recum and Andrei Zubarev: Declarative Testing and Declarative Debugging
Mo 15 June
Erya Wang: Combinatorial Optimization
Mo 22 June
Emilia Streck and Cäcilia Agnes Bolz: Definite Clause Grammars
Mo 29 June
Felicitas Lock and Zhou Yu: Solving Logic Puzzles, Expert Systems, and Theorem Proving
Mo 6 July
Christian Daniel Krengel and Yannick Andreas Martin: Memoization
Mo 13 July
Conclusion
Su 02 August
Seminar written reports due
Hints for all presentations and written reports:
- Use the tutorial, but give your own presentation and write your own report.
- Run, or be ready to run, the programs mentioned in your presentation.
- Prepare yourself to answer questions that are likely to arise from your presentation.
- Prepare yourself to give solutions to the tutorial's exercises related to your presentation.
