From the Introduction
This book will differ from most others with similar titles because we aim to give you not one or two ways of looking at Logic, but many. The forms of reasoning that are fundamental to Computer Science are not necessarily those most familiar from a study of Mathematics and this gives us the opportunity to develop the subject along two dimensions, looking not only at different methods for implementing one particular mode of reasoning, but also at different ways of formalizing the process of reasoning itself.
There are many reasons why a computer scientist should need to study logic. Not only has it historically formed the roots of computer science, both Church's and Turing's work being motivated by the decision problem for first-order logic, but nowadays we are finding conversely that computer science is generating an explosion of interest in logic, with the desire to automate reasoning and the necessity to prove programs correct.
Basically, logic is about formalizing language and reasoning, and computer science addresses similar problems with the extra task, having formalized them, of expressing those formalizations, in the technical sense of producing mechanisms which follow the rules that they lay down. This, indeed, has led to the recent use of computer science for investigating logics in an experimental way, exploring some of them much more thoroughly than was possible when the 'computer' was a person rather than a machine.
What we hope then to show is that computer science has grown out of logic. It is helping to suggest new ideas for logical analysis and these logical ideas are, in turn, allowing computer science to develop further. The two subjects have each contributed to the growth of the other and still are, and in combination they form an exciting and rapidly growing field of study.
Return to my publications page
Steve Reeves, email name stever and place @cs.waikato.ac.nz
Last updated: 4th February 2003