This book is one of the available standard choices for an introductory course on discrete mathematics. The topical coverage is, by and large, similar to that of competing textbooks. Therefore, the reviewer’s job is to talk about what makes this book different from others.
In short, the strength of this book is the clarity of explanations and the innovative methods used to drive a point home. At the same time, the mathematics is not as challenging and inspirational as in most competing textbooks. This is not to say that the book has no mathematically interesting examples, exercises, and excursions. The book does have all those features, but they are not integrated in the text; they are mostly part of the auxiliary materials.
The first block of chapters deals with formal logic, the concept of proofs, and the basic notions involving sets and functions. Fortunately, the sequence of these conceptually important but mathematically not so entertaining chapters is interrupted by a chapter on elementary number theory. This is good because this allows the author to prove theorems the reader may actually want to know. Textbooks teaching proof techniques often make the mistake of proving uninteresting statements just to show an example of a proof technique. That is a mistake since it may lead to the loss of student interest and enthousiasm. This book has its share of those mistakes (for instance when the author proves a formula for the exact value of the floor or ceiling of n/2, or when she proves that the square of an odd number is odd and the square of an even number is even), but the chapter on number theory has some interesting examples as well. The subsection on open problems in number theory is particularly well done.
After this introductory block, the first advanced topic is solving recurrences, most importantly second-order linear recurrences with constant coefficients. This reviewer would have liked to see the much stronger, much more general method of generating functions at least mentioned here for the interested students. Again, the last two pages of the chapter, those devoted to open problems and difficult examples, are a pleasure to read.
Most of what is covered in the rest of the book (combinatorial enumeration, discrete probability, graphs, and the analysis of algorithm efficiency) are often taught in combinatorics courses. Again, the explanations are clear and have plenty of detail, but the mathematics does not go as far as it could or should. For instance, the Principle of Inclusion and Exclusion is only discussed for up to three sets in the text itself, and the general case is left for the exercises.
The illustrations are far better than those of competing textbooks. The exercises are fine for the average student, and not challenging enough for the good student.
Miklós Bóna is Professor of Mathematics at the University of Florida.
1. SPEAKING MATHEMATICALLY.
Variables. The Language of Sets. The Language of Relations and Functions.
2. THE LOGIC OF COMPOUND STATEMENTS.
Logical Form and Logical Equivalence.
Valid and Invalid Arguments.
Application: Digital Logic Circuits.
Application: Number Systems and Circuits for Addition.
3. THE LOGIC OF QUANTIFIED STATEMENTS.
Predicates and Quantified Statements I. Predicates and Quantified Statements II. Statements with Multiple Quantifiers. Arguments with Quantified Statements.
4. ELEMENTARY NUMBER THEORY AND METHODS OF PROOF.
Direct Proof and Counterexample I: Introduction. Direct Proof and Counterexample II: Rational Numbers. Direct Proof and Counterexample III: Divisibility. Direct Proof and Counterexample IV: Division into Cases and the Quotient-Remainder Theorem. Direct Proof and Counterexample V: Floor and Ceiling. Indirect Argument: Contradiction and Contraposition. Indirect Argument: Two Classical Theorems. Application: Algorithms.
5. SEQUENCES, MATHEMATICAL INDUCTION, AND RECURSION.
Sequences. Mathematical Induction I. Mathematical Induction II. Strong Mathematical Induction and the Well-Ordering Principle. Application: Correctness of Algorithms. Defining Sequences Recursively. Solving Recurrence Relations by Iteration. Second-Order Linear Homogeneous Recurrence Relations with Constant Coefficients. General Recursive Definitions and Structural Induction.
6. SET THEORY.
Set Theory: Definitions and the Element Method of Proof. Set Identities. Disproofs and Algebraic Proofs. Boolean Algebras, Russell's Paradox, and the Halting Problem.
7. PROPERTIES OF FUNCTIONS.
Functions Defined on General Sets. One-to-one, Onto, Inverse Functions. Composition of Functions. Cardinality, Sizes of Infinity, and Applications to Computability.
8. PROPERTIES OF RELATIONS.
Relations on Sets (add material about relational databases). Reflexivity, Symmetry, and Transitivity. Equivalence Relations. Modular Arithmetic with Applications to Cryptography. Partial Order Relations.
Counting and Probability.
The Multiplication Rule. Counting Elements of Disjoint Sets: The Addition Rule. The Pigeonhole Principle. Counting Subsets of a Set: Combinations. r-Combinations with Repetition Allowed. Pascal's Formula and the Binomial Theorem. Probability Axioms and Expected Value. Conditional Probability, Bayes' Formula, and Independent Events.
10. GRAPHS AND TREES.
Graphs: An Introduction. Trails, Paths, and Circuits. Matrix Representations of Graphs. Isomorphisms of Graphs. Trees: Examples and Basic Properties. Rooted Trees. Spanning Trees and a Shortest Path Algorithm.
11. ANALYZING ALGORITHM EFFICIENCY.
Real-Valued Functions of a Real Variable and Their Graphs. O-, -, and -Notations. Application: Efficiency of Algorithms I. Exponential and Logarithmic Functions: Graphs and Orders. Application: Efficiency of Algorithms II.
12. REGULAR EXPRESSIONS AND FINITE STATE AUTOMATA.
Formal Languages and Regular Expressions. Finite-State Automata. Simplifying Finite-State Automata.