1.1 Some sets

1.2 Pairs of reals

1.3 Exponentials and logs

1.4 Factorial, ﬂoor, and ceiling

1.5 Summations

1.6 Variation in notation

2.1 A bit about style

2.2 Propositions

2.3 Complex propositions

2.4 Implication

2.6 Complex statements

2.7 Logical Equivalence

2.12 Notation

2.13 Useful notation

2.14 Notation for 2D points

2.15 Negating statements with quantiﬁers

2.16 Binding and scope

2.17 Variations in Notation

3.1 Proving a universal statement

3.3 Direct proof outline

3.4 Proving existential statements

3.5 Disproving a universal statement

3.6 Disproving an existential statement

3.7 Recap of proof methods

3.8 Direct proof: example with two variables

3.9 Another example with two variables

3.10 Proof by cases

3.11 Rephrasing claims

3.12 Proof by contrapositive

3.13 Another example of proof by contrapos-

3.14 Proof by contradiction

√2 is irrational

Number Theory

number theory

4.1 Factors and multiples

4.2 Direct proof with divisibility

4.3 Stay in the Set

4.4 Prime numbers

4.5 There are inﬁnitely many prime numbers

4.6 GCD and LCM

4.7 The division algorithm

4.8 Euclidean algorithm

4.9 Pseudocode

4.10 A recursive version of gcd

4.11 Congruence mod k

4.12 Proofs with congruence mod k

4.13 Equivalence classes

4.14 Wider perspective on equivalence

4.15 Variation in Terminology

5.1 Sets

5.2 Things to be careful about

5.3 Cardinality, inclusion

5.4 Vacuous truth

5.5 Set operations

5.6 Set identities

5.7 Size of set union

5.8 Product rule

5.9 Combining these basic rules

5.10 Proving facts about set inclusion

5.11 Example proof: deMorgan’s law

5.12 An example with products

5.13 Another example with products

5.14 A proof using sets and contrapositive

5.15 Variation in notation

Relations

6.1 Relations

6.2 Properties of relations: reﬂexive

6.3 Symmetric and antisymmetric

6.4 Transitive

6.5 Types of relations

6.6 Proving that a relation is an equivalence

6.7 Proving antisymmetry

Functions and onto

7.1 Functions

7.2 When are functions equal?

7.3 What isn’t a function?

7.4 Images and Onto

7.5 Why are some functions not onto?

7.6 Negating onto

7.7 Nested quantiﬁers

7.8 Proving that a function is onto

7.9 A 2D example

7.10 Composing two functions

7.11 A proof involving composition

7.12 Variation in terminology

Functions and one-to-one

8.1 One-to-one

8.2 Bijections

8.3 Pigeonhole Principle

8.4 Permutations

8.5 Further applications of permutations

8.6 Proving that a function is one-to-one

8.7 Composition and one-to-one

8.8 Strictly increasing functions are one-to-

8.9 Making this proof more succinct

8.10 Variation in terminology

9.1 Graphs

9.2 Degrees

9.3 Complete graphs

9.4 Cycle graphs and wheels

9.5 Isomorphism

9.6 Subgraphs

9.7 Walks, paths, and cycles

9.8 Connectivity

9.9 Distances

9.10 Euler circuits

9.11 Graph coloring

9.12 Why should I care?

9.13 Bipartite graphs

9.14 Variation in terminology

10.1 Introduction to induction

10.2 An Example

10.3 Why is this legit?

10.4 Building an inductive proof

10.5 Another example of induction

10.6 Some comments about style

10.7 Another example

10.8 A geometrical example

10.9 Graph coloring

10.12 Prime factorization

10.13 Variation in notation

Recursive Deﬁnition

11.1 Recursive deﬁnitions

11.2 Finding closed forms

11.3 Divide and conquer

11.4 Hypercubes

11.5 Proofs with recursive deﬁnitions

11.6 Inductive deﬁnition and strong induc-

11.7 Variation in notation

12.1 Why trees?

12.2 Deﬁning trees

12.3 m-ary trees

12.4 Height vs number of nodes

12.5 Context-free grammars

12.6 Recursion trees

12.7 Another recursion tree example

12.8 Tree induction

12.9 Heap example

12.10 Proof using grammar trees

12.11 Variation in terminology

13.1 Running times of programs

13.2 Function growth: the ideas

13.3 Primitive functions

13.4 The formal deﬁnition

13.5 Applying the deﬁnition

13.6 Writing a big-O proof

13.7 Sample disproof

13.8 Variation in notation

Algorithms

14.1 Introduction

14.2 Basic data structures

14.3 Nested loops

14.4 Merging two lists

14.5 A reachability algorithm

14.6 Binary search

14.7 Mergesort

14.8 Tower of Hanoi

14.9 Multiplying big integers

15.1 Sets containing sets

15.2 Powersets and set-valued functions

15.3 Partitions

15.4 Combinations

15.5 Applying the combinations formula

15.6 Combinations with repetition

15.7 Identities for binomial coeﬃcients

15.8 Binomial Theorem

16.2 Wolf-goat-cabbage puzzle

16.3 Phone lattices

16.4 Representing functions

16.5 Transition functions

16.6 Shared states

16.7 Counting states

16.8 Variation in notation

17.1 The rationals and the reals

17.2 Completeness

17.3 Cardinality

17.4 More countably inﬁnite sets

17.5 Cantor Schroeder Bernstein Theorem

17.6 P(N) isn’t countable

17.7 More uncountability results

17.8 Uncomputability

17.9 Variation in notation

18.1 Planar graphs

18.2 Faces

18.3 Trees

18.4 Proof of Euler’s formula

18.5 Some corollaries of Euler’s formula

18.6 K3,3 is not planar

18.7 Kuratowski’s Theorem