Logics, Categories, and Colimits for Artificial Intelligence - Overview

Lecturer: Prof. Dr. Till Mossakowski

Exercises: Dr. Robert Mattmüller

Time and Place

Lectures: Thursday 9:15-11:00 and Friday 14:15-15:00 in building 101, room 01-018
Exercises: Friday 15:15-16:00 in building 101, room 01-018


Lectures are held in English, and the course material and exercise sheets are in English. Students may ask questions and submit exercise sheets in German or English. The oral examination can be taken in German or English.


Logic is an important tool for many areas of computer science, including artificial intelligence. It plays a similar role as calculus plays for physics. However, driven by the needs of applications, like e.g. expert systems, planning, ontologies, there has been a proliferation of a variety of logics.

Category theory and the theory of institutions are a powerful tool to handle this variety of logics. Common features of logics are abstracted, and complex systems and their logical descriptions can be built in a modular fashion using the categorical notion of colimit.

While providing a rather general introduction to abstract logics, the material of this course is illustrated with examples from artificial intelligence. Moreover, tools implementing logics, categories and colimits will be presented as well.


The course is aimed at advanced students of Computer Science or Applied Computer science, such as diploma's degree students who have passed their mid-degree exams ("Vordiplom"), Bachelor students in their final year and Master students with a background in formal logic. General mathematical skills are assumed.

Exercises and Exam

Students studying towards a diploma's degree can obtain a certificate ("benoteter Schein") for an advanced course ("Spezialvorlesung") in this course.

For students studying towards a Bachelor of Science in Computer Science, a Master of Science in Computer Science or a Master of Science in Applied Computer Science, this course counts as an advanced course in the area "Artificial Intelligence and Robotics". The course is worth 6 ECTS points.

For students who study Computer Science as a minor subject ("Nebenfach"), the precise regulations depend on the respective degree programme.

All students who want to get credit for this course need to pass an oral examination, held shortly before the next teaching period, but no later than March 31, 2009. The exams will be by appointment.

During the semester, theoretical and practical assignments will be posed weekly. Working on these is not mandatory, but it is strongly encouraged in order to further comprehension of the course topics. Moreover, performance in the exercises and is awarded with bonus marks for the oral examination according to the following rules:

  • One bonus mark can be obtained for each theoretical assignment. We may also give half, quarter, ... marks, depending on the quality of the solutions handed in. As a general rule, half a mark is awarded if the exercise sheet has been reasonably worked on, and the remaining half of a mark is awarded based on the correctness of the solution.

    To obtain any bonus marks, a student needs to reach at least 50% of the total marks in the theoretical assignments.

  • Presenting a solution in the exercise sessions is rewarded with one bonus mark each time. No more than three bonus marks can be obtained this way per student.

  • Each 10 bonus marks correspond to 1/3 grade step in the oral examination, for example an improvement from 2.0 to 1.7.

Students are allowed and encouraged to work on the assignments in groups of two and submit their solutions together. Larger groups, as well as copied or plagiarized solutions will not be accepted.

Course Materials


In the lecture, we will use the Heterogeneous Tool Set (Hets). In the first exercise on Friday, September 24, we will give some instructions on how to install Hets on you computers. If you own a laptop on which you want to install Hets, carry it with you on that Friday.



  • Michel Bidoit, Peter D. Mosses: CASL User Manual. Introduction to Using the Common Algebraic Specification Language. LNCS 2900.
  • Peter D. Mosses (Ed.): CASL Reference Manual. The Complete Documentation of the Common Algebraic Specification Language. LNCS 2960.
  • Till Mossakowski, Christian Maeder, Klaus Lüttich: HETS User Guide. Bremen 2008.

Propositional Logic, First Order Logic, Modal Logic

Description Logic

Category Theory

If a books or paper listed here is not available in the university library or on the World Wide Web, please contact the lecturing staff if you need help getting hold of the reference.