Logic for Mathematics and Computer Science
The Flow of Topics
Chapter
|
Traditional Logic
|
Universal Algebra
|
Computational Logic
|
1 |
syllogisms (1.1-1.2)
|
|
algebra of logic (1.3-1.4)
|
2 |
basics (2.1-2.9)
|
|
resolution (2.10-2.13)
|
3 |
algebras, terms (3.1-3.3)
|
equational logic (3.4-3.11)
|
unification (3.12) TRSs (3.13-3.15)
|
4 |
structures, formulas (4.1-4.2)
|
|
resolution (4.3-4.9) ground clauses (4.10)
|
5 |
semantics (5.1-5.14)
|
|
skolemization (5.12-5.3)
|
6 |
completeness (6.1-6.10)
|
|
|
The preceding diagram indicates the basic structure
of the text, showing the topics that are normally covered in
a logic course, topics from universal algebra,
and topics from computer science.
Two fundamental aspects of logic, the foundational and the computational,
are presented here. Traditional logic topics can be taught without going
into computational aspects by staying with the first column of the
diagram, and one can work through the algorithms of the computational side
without being too concerned about the traditional theory. One can
see possible ways of designing a course by considering the following
dependency diagram, where a bold line from a higher topic to
a lower topic means that the lower topic depends on the higher
topic.
Dependency of topics
Thus one can design a traditional course based on the
shaded portion. Note that the topic in Sec. 2.9
is not required
for other topics. Thus one can, if desired, completely omit
the study of propositional proof systems, with the idea that
the interesting proof system to be covered will be the first-order
case. Or one can replace Sec. 2.9 with any of a number of
different proofs systems available. One particularly elegant
choice is given in Appendix D. Likewise, one can omit the leisurely
introduction to the first-order logic given in Secs. 5.1-5.6.
One can design a very computational course by
choosing the topics in the loop. Note that Chapter 1 and
Secs. 3.4-3.15 are not requisite for other topics, and thus
could be optional,
but all the other computational topics have important
interdependencies.
Personally
I prefer a mix of the two, with some variation from year to year.
The University of Waterloo has a one-semester elective course in
logic that is intended for third- and fourth-year students in
all areas of
the mathematical sciences.
A substantial portion of the students in mathematics and computer
science take this course.
Most recently I have taught the following topics in this course:
Chapter
1 Secs. 1.1-1.2,
Chapter
2 Secs. 2.1-2.13,
Chapter
3 Secs. 3.1-3.11,
Chapter
4 Secs. 4.1-4.2,
and
Chapter
5 Secs. 5.1-5.11.