NOTE: all materials hyper-linked below are copyright by their respective author(s).
Unless indicated otherwise, students registered in CS 245 have permission to make copies of the on-site material for their own personal, non-commercial use (e.g., they may download the material to their browser for viewing and may save a copy for their own later use).
The University of Waterloo and its employees may have additional permissions.
Copying for and/or by other persons is prohibited.

General resources

Course textbook:

M. Huth and M. Ryan, Logic in Computer Science, 2nd ed., Cambridge University Press, 2004.

A few copies will be on reserve in the DC library, for occasional short-term use. Specific readings will appear on the schedule of lectures.


Syntax and Semantics of Propositional and Predicate Logic.
A complete but rather terse summary of much of the first half of the course, with references to the textbook. You may find it difficult to read at first, but it makes an excellent summary of the main points and a reminder when you get confused. It does have a small number of exercises.

Proofs and Programs. Some topics not covered by Huth and Ryan:

  • Dealing with more-complex structures via predicate logic: arithmetic and lists.
  • Application to the analysis of Scheme programs.
  • Some limitations of logic and of programming.

Other texts:

Many textbooks cover the basics of logic, at various levels of rigour. In particular, ones by Nissanke and by Lu have been required or recommended for CS 245 in the past and thus used copies are readily available. You are free to use them or others to get a different viewpoint, but BE CAREFUL! The various texts differ widely in their use of notation, nomenclature, deduction rules, etc. In your work for this course, use ONLY the notation, deduction rules, etc., that we use in class and/or in Huth and Ryan.

Overheads, etc.

Some materials prepared for showing in class will appear here from time to time. Note that the instructor of your section may not actually use these materials; s/he may use derivative overheads, alternative overheads, and/or lots of board work.


See the LEARN site.

Instructor-Specific Pages