Abstract:
During the past thirty 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.