##
Relation Algebra in Computer Science

Since the mid-1970's it has become clear that the calculus of relations is a fundamental conceptual and methodological tool in computer science just as much as logic. While computer science applications are evolving rapidly in several areas as in communication, programming, software, data or knowledge engineering, exact sciences are needed to understand existing methods.

It has become more and more suitable to use formal approaches to handle design, algorithmic or information complexity. Among several formal approaches, relation algebra has been used as a basis for analysing, modelling or resolving several computer science problems such as

- program specification
- heuristic approaches for program derivation
- automatic prover design
- database and software decomposition
- program fault tolerance
- testing
- data abstraction and information coding
- spatial reasoning

While axiomatically simple, relation algebra has proved to be able to cover a large variety of information structures.