What is Computational Logic?
Computational Logic is a wide interdisciplinary field having its theoretical and practical roots in mathematics, computer science, logic, and artificial intelligence. Its subfields include
- Mathematical logic
- Logic programming
- Deduction systems
- Knowledge representation
- Artificial intelligence
- Methods of formal specification and verification
- Inference techniques
- Syntax-directed semantics
- The relationship between theoretical computer science and logic.
Indeed, the wideness of the scope of computational logic anchors in the power and generality of logic based reasoning across the spectrum of scientific disciplines, and in its practical use in the form of computer supported automated tools. As a consequence, it has its applications in computer science itself, mathematics, the engineering sciences, humanities and social sciences including law, as well as in the natural sciences and in interdisciplinary fields like cognitive science.
The field of computational logic covers all kinds of applications of logic in computer science. Computational logic centers around the famous definition:
According to this view, algorithms consist of a problem description (the logic part) along with a strategy to carry out useful computations on this description (the control part). Computational Logic is devoted to the ideal of a programmer who concentrates solely on the description of the problem and spends no time at all on the actual computation mechanism. This unique paradigm of declarative programming leads to programs that are fast and simple to develop and easy to understand and maintain - features which are of rapidly increasing importance as today's computer systems grow more and more complex. Moreover, the rigorous use of logic revolutionizes the whole field of hard- and software verification. Instead of having to undergo a test phase which necessarily cannot give more than just some confirmation that a program will do what it is supposed to do, the development of programs and systems that are guaranteed to be correct is the second ideal of Computational Logic.
Today's information technology is witnessing a change - and the change is omnipresent. It is getting closer to our lives and plays a more active role in day-to-day activities with more and more people using it for diverse needs: from on-line transactions, on-line chat and e-mail to fancy browsers and real-time audio and video; computers and especially the Internet have taken the entire world by a storm. The Internet is a scientific invention that has really influenced the way we think and act. The more all this transfuses into our lives, the more mind boggling it becomes for the computer scientists to handle various key issues involved in data security, transactions, network computing, network architecture, computer architecture, complex software, distributed platforms and in short - every little aspect which affects our present day computer society. As our systems become smarter every day and as the major organizations vie for the maximum market share, present computer scientists are forced to understand the key issues even faster while making advanced sophistication look a triviality.
Computational logic is a unique paradigm to address problems in hardware and software design that are too complex to be solved by plain heuristics and rules of thumb. It is no longer the case that hardware can survive without good software and vice versa. In fact they now have to grow synergetically as our systems become more complex.
It has been observed that Computational Logic also plays a crucial role in understanding key problems in software. The advent of logic and constraint programming has led to a great success of declarative programming languages in expert systems, natural language processing, planning and acting, to name but a few. In today's world of wireless and mobile networking, distributed system protocols form a major aspect of system design. Removing unnecessary and redundant computations from such protocols and verifying such protocols is usually a formidable task. With the tools of computational logic the journey is easier. The field of software engineering is witnessing a multi-discipline approach to define the software system specifications formally and logics have shown immense guiding potential to the way formal specifications are studied. With these motivations to guide the heuristics and to have more emphasis on formal methods for software and hardware verification, computational logic covers the scope of the above mentioned areas.
Computational Logic in Europe
As of today, computational logic is one of the flagships of research and education in Europe. Computational logic is of increasing importance for dealing with the complexity of modern computer-supported systems and worldwide on the rise. The field has been established over many years by numerous European projects and networks. In particular, the European networks of excellence in computational logic, CompulogNET 1 and 2 as well as CoLogNET were instrumental for turning Europe into the world-wide leading region in computational logic.
Around thirty professors that are working in the field have jointly initiated the European Master's Program in Computational Logic (EMCL). They have published a number of books on subjects in computational logic.