Department of Mathematics and
Statistics Faculty of Science and Engineering Course Outline (Fall 2007) |

AS/SC/AK/ MATH 1090 3.0 A |
Introduction to Logic
for Computer
Science |

Professor George
Tourlakis |
Classes: T (CLH G) and R (CLH H) 10:00am-11:30am |

DON'T PANIC :-) (This course is very similar to a serious programming
course; but easier)
(See also
the Course Description: departmental
course outline)
Learning to use Logic, which is what this
course is about, is like learning to use a programming language. In the latter case,
familiar to you from courses such as CSE 1020 3.0, one learns the
correct syntax of programs, and also learns what the various
syntactic
constructs do and mean, that is, their semantics.
After that, one
embarks, for
the rest
of the course, on sets of increasingly challenging programming
exercises, so that the
student becomes proficient in programming in said language. We will do the exact same
thing in MATH1090: We will learn the syntax of the logical language,
that is, what syntactically correct proofs look like. We will
learn what various syntactic constructs "say" (semantics). We will be
pleased to know that correctly written proofs are concise and
"checkable" means toward discovering mathematical "truths". We will
also learn
via a lot of practice how to
write a large variety of proofs that
certify all sorts of useful "truths" of mathematics. While the above is our main
aim, to equip you with a Toolbox
that you can use to discover truths,
we will
also look at the Toolbox as an object
of study and study
some of its properties (this is similar to someone explaining to you
what a hammer is good for before you take up carpentry). This study
belongs to the "metatheory" of
Logic. The content of the course
will thus be: The syntax and semantics of
propositional
and predicate logic and how to build "counterexamples" to expose
fallacies. Some basic and important "metatheorems" that
employ induction on numbers, but also on the complexity of terms,
formulas, and proofs will be also
considered. A judicious choice of a few topics in the " OK, one can grant that a computer science student needs to learn programming. But Logic? Well, the proper understanding of propositional logic is fundamental to the most basic levels of computer programming, while the ability to correctly use variables, scope and quantifiers is crucial in the use of loops, subroutines, and modules, and in software design. Logic is used in many diverse areas of computer science including digital design, program verification, databases, artificial intelligence, algorithm analysis, computability, complexity, and software specification. Besides, any science that requires you to reason correctly to reach conclusions uses logic.
AK/MATH 1710 6.0.
No Credit Retained Note :
This course
is
not open for credit to any student who has passed AS/SC/AK/MATH
4290 3.0.
Follow these links to
familiarise yourselves with Senate's expectations regarding Academic
Honesty, but also with many other Senate policies, in particular,
with those about Academic
Accommodation for Students with Disabilities, Religious
Accommodation and Repeating
Passed or Failed Courses for Academic Credit. See also this link. The
concept of "late assignments" does not exist in this course. Last date to drop a Fall 2007 (3
credit) course without receiving a grade is Nov. 9, 2007. There will also be Note:
Propositional calculus: semantics
(truth tables); axioms rules of inference and proofs (Hilbert style and
Equational); deduction theorem; connection between the truth
table techniques and proof techniques (soundness and completeness);
resolution. Predicate calculus:
axioms rules of
inference and proofs (Hilbert style and Equational); adding and removing the
universal quantifier; deduction theorem; more Leibniz rules; adding and removing the existential
quantifier; properties of equality; connection between syntax and
semantics (soundness and counterexample building). Note that these "notes"
constitute a book pre-print, now en
route to publication by John Wiley & Sons, Inc., where it is
planned to have a final
chapter on Gödel completeness and incompleteness. These topics are
not in our syllabus and
were never posted on-line. Last changed: Sep. 10, 2007 |