And Logic Begat Computer Science: When Giants Roamed the Earth
During the past fifty years there has been extensive, continuous, and growing interaction between
logic and computer science. In fact, logic has been called "the calculus of computer science". The
argument is that logic plays a fundamental role in computer science, similar to that played by calculus
in the physical sciences and traditional engineering disciplines. Indeed, logic plays an important role in
areas of computer science as disparate as architecture (logic gates), software engineering
(specification and verification), programming languages (semantics, logic programming), databases
(relational algebra and SQL), artificial intelligence (automated theorem proving), algorithms
(complexity and expressiveness), and theory of computation (general notions of computability). This
non-technical talk will provide an overview of the unusual effectiveness of logic in computer science by
surveying the history of logic in computer science, going back all the way to Aristotle and Euclid, and
showing how logic actually gave rise to computer science.