# COMP 409/509:Logic in Computer Science and Artificial intelligence

Compiled by Moshe Y. Vardi,
who has no respect for those with no respect for logic.

P.R.H. Anonymous

If you think that your paper is vacuous,

Use the first-order functional calculus.

It then becomes logic,

And, as if by magic,

The obvious is hailed as miraculous.

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
artificial intelligence (automated reasoning),
architecture (logic gates), software engineering (specification
and verification), programming languages (semantics, logic programming),
databases (relational algebra and SQL),
algorithms (complexity and expressiveness),
and theory of computation (general notions of computability).
COMP 409/509 provides the student with a thorough introduction to
computational logic, covering in depth the topics of syntax,
semantics, decision procedures, formal systems, and definability
for both propositional and first-order logic.
The material is taught from a computer-science perspective,
with an emphasis on algorithms for automated reasoning.
The goal is to prepare the students for using logic as a formal tool
in computer science, in general, and artificial intelligence, in particular.

## Course Material:

## Links

* In 2005: *
The course is offered in the fall. This web page is dormant during the spring.