TDDB40 Introduction to Rewriting Systems, 4,5 ECTS-points
/Omskrivningssystem/

Advancement level:
D

Aim:
Any kind of computation can be seen as a rewriting process. The aim of the course is to give a uniform view of various rewriting systems and in this way provide a unified basis for studying and classifying various computing paradigms.

Prerequisites:
TDDA 89 Formal Languages and Automata Theory TDDA 41 Logic Programming

Course organization:
Lectures and seminars

Course content:
- Abstract Rewriting Systems - Functional computation as rewriting. Term rewriting. Lambda calculus and combinatory logic. Abstract data types - Computing relations through rewriting. Generalisation of context-free grammars to logic programs and attribute grammars. - Defining semantics of programming languages through rewriting systems. - Integration of functional and relational languages. Equational unification and narrowing.

Course literature:
Lecture Notes, J. Boye, J. Maluszynski and U. Nilsson "Rewriting Systems"

UPG1Hand-in assignments and active participation in the seminars, 3 p.
Course language is english.