Introduction to the mathematics of discrete structures with emphasis on structures for computer science.
Prerequisite: Algebra and Number Systems (MAT 1313), or Discrete Mathematical Structures (CS 2233/2231), or instructor consent.
Contents: (1) Propositional logic: Axioms and Rules of Inference. Limitations of propositional logic: Informal introduction to quantifiers and syllogisms. (2) Predicate Logic: Existential and universal quantification, free variables and substitutions. Discussion of the various axiomatic systems for first-order logic (including axioms and rules of inference). The power and the limitations of axiomatic systems for logic: Informal discussion of the completeness and incompleteness theorems. (3) Sets and boolean algebras: Operations on sets. Correspondence between finitary set operations and propositional logic. Correspondence between infinitary operations and quantifiers. The power and limitations of the language of set theory: Informal discussion of the set-theoretic paradoxes and the need for axiomatic systems for set theory. (4) Relations: Special relations: Equivalence relations, partially ordered sets, maximum/minimum, maximal/minimal elements, least upper bounds and greatest lower bounds, totally ordered sets. (5) Functions: Operations of functions, direct image and inverse image. (6) Well-ordered sets: Correspondence between well-ordering relations and induction. Correspondence between well-ordering relations and choice functions. (7) Introduction to computability. Classical models of computation (recursive functions, and Turing models). Limitations of computation (the Halting Problem, fast-growing functions). Contemporary models of computation.
 Gordon Pace, Mathematics of Discrete Structures foe Computer Science, Springer, 2012
 Vladlen Koltun, Discrete Structures Lecture Notes, Stanford University, 2008. Freely available here.
|Week||Topic||Sections from Pace's book||Sections from Pace's book||Prerequisites.|
||MAT1313 or CS2233/2231, or equivalent.|
|2||Completeness and soundness||2.5||
|7||Sets and boolean algebras||4.1-4.5||
|8||Sets and boolean algebras||4.6||
|13-14||Reasoning about programs||10.1-10.4||