What
Is a Set?
Some
Important Sets
Sets,
Multisets and Lists
Defining
a Set
Using
Sets in Logical Expressions
How Large is a Set?
Subsets
and Supersets
Sets
of Sets
The Powerset of S
Partitions
Partitions
and Proof by Case Enumeration
Partitions
and Code for Solving Problems
Finite
State Machines Partition Inputs
Venn
Diagrams
Union
Intersection
Subtraction
(Set Difference)
Complement
Insertion
and Deletion
Summary
of Set Operations
Venn
Diagrams for Larger Expressions
Operator
Precedence
The
Big Idea
Set Operations
/ Logical Operations
Making
Sure That We Don’t Write Nonsense
Convert
the Set Problem to a Logic Problem
Set
Identities
Generalized
Union and Intersection
Law of
the Excluded Middle
Computing
Set Values
Inference
Rules
Proving
that Two Sets Are Equal
Proving
the Correctness of the Identities and the Inference Rules
Proving
Claims about Sets by Converting to Logical Claims
Working
Directly with Set Expressions
Proving
Claims about Subsets
Proving
that Two Sets are Equal Using Two Subset Relationships
Proving
Claims about Powersets
Proof
by Counterexample
The
Inclusion/Exclusion Principle
Concrete
Representations of Sets
Bit
Vector Representations of Sets
Set
Operations Using Bit Vector Representations
The
Key Idea
The
Fundamental Theorem of Arithmetic
Relating
Elements of Sets
Ordered
Pairs
Ordered
N-Tuples
Cartesian
Products
Generalizing
to More Sets
Binary
Relations
n-ary Relations
The
Inverse of a Binary Relation
Composition
Describes a Path
Composing
a Binary Relation with Itself
Composing
a Binary Relation with Its Inverse
Soundex
Making
Sure That We Don’t Write Nonsense
Approaches
to Representation
Undirected
Graphs
Directed
Graphs
Using
a Directed Graph to Represent a Relation
Using
an Adjacency Matrix
The
Special Nature of Binary Relations on a Set
Modular
Arithmetic
Reflexivity
Symmetry
Transitivity
Reviewing
the Properties
Patterns
of Pattern Combinations
Proving
Claims about Properties of Relations
What
Is an Equivalence Relation?
Examples
of Equivalence Relations
Partitions
Equivalence
Classes
Proving
that a Relation is an Equivalence Relation
Soundex
(Again)
Finite
State Machines (Again)
What
Is a Function?
Not
All Relations Are Functions
Unary
Functions, Binary Functions
The
Function Distinction Matters for Programmers
One-to-One
and Many-to-One Functions
Onto
Functions
One-to-One
and Onto Functions
When
Are These Properties Important
Counting
Arguments and the Pigeonhole Principle
Extended
Pigeonhole Principle
Hash
Functions
Function
Composition
Why Function
Composition is a Big Deal for Programmers
The
Inverse of a Function
The
Inverse Isn’t Always a Function
When
is f-1 a Function?
The
Identity Function