1 Sets and Logic
1.1 Sets
1.2 Propositions
1.3 Conditional Propositions and Logical Equivalence
1.4 Arguments and Rules of Inference
1.5 Quantifiers
1.6 Nested Quantifiers
Problem-Solving Corner: Quantifiers
Chapter 1 Notes
Chapter 1 Review
Chapter 1 Self-Test
Chapter 1 Computer Exercises
2 Proofs
2.1 Mathematical Systems, Direct Proofs, and Counterexamples
2.2 More Methods of Proof
Problem-Solving Corner: Proving Some Properties of Real Numbers
2.3 Resolution Proofs
2.4 Mathematical Induction
Problem-Solving Corner: Mathematical Induction
2.5 Strong Form of Induction and the Well-Ordering Property
Chapter 2 Notes
Chapter 2 Review
Chapter 2 Self-Test
Chapter 2 Computer Exercises
3 Functions, Sequences, and Relations
3.1 Functions
Problem-Solving Corner: Functions
3.2 Sequences and Strings
3.3 Relations
3.4 Equivalence Relations
Problem-Solving Corner: Equivalence Relations
3.5 Matrices of Relations
3.6 Relational Databases
Chapter 3 Notes
Chapter 3 Review
Chapter 3 Self-Test
Chapter 3 Computer Exercises
4 Algorithms
4.1 Introduction
4.2 Examples of Algorithms
4.3 Analysis of Algorithms
Problem-Solving Corner: Design and Analysis of an Algorithm
4.4 Recursive Algorithms
Chapter 4 Notes
Chapter 4 Review
Chapter 4 Self-Test
Chapter 4 Computer Exercises
5 Introduction to Number Theory
5.1 Divisors
5.2 Representations of Integers and Integer Algorithms
5.3 The Euclidean Algorithm
Problem-Solving Corner: Making Postage
5.4 The RSA Public-Key Cryptosystem
Chapter 5 Notes
Chapter 5 Review
Chapter 5 Self-Test
Chapter 5 Computer Exercises
6 Counting Methods and the Pigepnhole Principle
6.1 Basic Principles
Problem-Solving Corner: Counting
6.2 Permutations and Combinations
Problem-Solving Corner: Combinations
6.3 Generalized Permutations and Combinations
6.4 Algorithms for Generating Permutations and Combinations
6.5 Introduction to Discrete Probability?
6.6 Discrete Probability Theory?
6.7 Binomial Coefficients and Combinatorial Identities
6.8 The Pigeonhole Principle
Chapter 6 Notes
Chapter 6 Review
Chapter 6 Self-Test
Chapter 6 Computer Exercises
7 Recurrence Relations
7.1 Introduction
7.2 Solving Recurrence Relations
Problem-Solving Corner: Recurrence Relations
7.3 Applications to the Analysis of Algorithms
7.4 The Closest-Pair Problem?
Chapter 7 Notes
Chapter 7 Review
Chapter 7 Self-Test
Chapter 7 Computer Exercises
8 Graph Theory
8.1 Introduction
8.2 Paths and Cycles
Problem-Solving Corner: Graphs
8.3 Hamiltonian Cycles and the Traveling Salesperson Problem
8.4 A Shortest-Path Algorithm
8.5 Representations of Graphs
8.6 Isomorphisms of Graphs
8.7 Planar Graphs
8.8 Instant Insanity?
Chapter 8 Notes
Chapter 8 Review
Chapter 8 Self-Test
Chapter 8 Computer Exercises
9 Trees
9.1 Introduction
9.2 Terminology and Characterizations of Trees
Problem-Solving Corner: Trees
9.3 Spanning Trees
9.4 Minimal Spanning Trees
9.5 Binary Trees
9.6 Tree Traversals
9.7 Decision Trees and the Minimum Time for Sorting
9.8 Isomorphisms of Trees
9.9 Game Trees
Chapter 9 Notes
Chapter 9 Review
Chapter 9 Self-Test
Chapter 9 Computer Exercises
10 Network Models
10.1 Introduction
10.2 A Maximal Flow Algorithm
10.3 The Max Flow, Min Cut Theorem
10.4 Matching
Problem-Solving Corner: Matching
Chapter 10 Notes
Chapter 10 Review
Chapter 10 Self-Test
Chapter 10 Computer Exercises
11 Boolean Algebras and Combinatorial Circuits
11.1 Combinatorial Circuits
11.2 Properties of Combinatorial Circuits
11.3 Boolean Algebras
Problem-Solving Corner: Boolean Algebras
11.4 Boolean Functions and Synthesis of Circuits
1