Problem-solving recipes
A step-by-step procedure for every problem type this course teaches — what to do first, what to do next, and how to tell which case you're in.
What are you being asked to do?
Start with what you're actually being asked to produce.
A division or a sum/product to evaluate — readiness review: apply the division algorithm, or expand a sum or product written in index notation.
A compound proposition — build its truth table, or classify it as a tautology, contradiction, or contingency once you have one.
A quantified statement — find a predicate's truth set, check a universal claim, decide an existential claim, or evaluate a nested quantifier statement.
A claim to prove or disprove — disprove a universal claim with a counterexample, or prove a unique-existence claim.
A claim about every natural number at or above some starting value — prove it by mathematical induction, by strong induction if the inductive step needs more than the single immediately preceding case, or using the well-ordering principle if assuming a least counterexample is the more natural move.
Two sets, or one claimed relationship between them — check whether A \subseteq B, prove set equality by double inclusion, find a union, intersection, or difference, find a complement, simplify with set identities, or prove an identity by element-chasing.
A function — find its domain/codomain/range, test one-to-one or onto, compute a composition, find an inverse, evaluate floor/ceiling, compute an image or preimage, or find where one function eventually dominates another.
A relation given as a list of pairs — classify it as reflexive or irreflexive, symmetric or antisymmetric, test transitivity, compute a composite of two relations, or find its equivalence classes.
A sequence or recurrence — evaluate a recursive definition, solve a linear homogeneous recurrence, or derive and solve a recursive algorithm's running-time recurrence.
A counting problem with an added condition — count a selection with a restriction, write a combinatorial proof of a counting identity, or apply the pigeonhole principle to guarantee a repeat exists.
A claim that one function grows no faster than another — prove a Big-O bound directly from its definition.
A graph — apply the handshaking theorem, or determine whether it has a cycle.
A tree — test whether its counts are consistent with a tree, find a vertex's parent/children/level/height, classify a binary tree, or find a minimum spanning tree by removing costliest cycle edges.
A loop, or a random variable — check a loop's total correctness, or compute expected value by summing over outcomes.
Readiness
Logic and propositions
Classify a formula as a tautology, contradiction, or contingency
Use when: you have a compound proposition and need to know whether it's always true, always false, or true on some rows and false on others
Goal: one of the three labels, backed by the formula's full truth table
Tautologies, contradictions, and contingencies
Needs a truth table built first, from the recipe above.
Predicate logic
Evaluate a nested quantifier statement
Use when: you have a statement with two quantifiers, such as \forall x\, \exists y\, P(x,y), over finite domains, and need a verdict
Goal: a settled verdict for the whole statement, found by resolving the inner quantifier separately for each fixed outer value
Nested quantifiers
Combines the universal and existential recipes above, one quantifier at a time.
Methods of proof
Mathematical induction
Prove a claim by strong induction
Use when: the inductive step for P(k+1) needs more than P(k) alone, such as splitting k+1 into two smaller, unpredictable pieces, or a recurrence referencing more than one prior term
Goal: a complete proof establishing P(n) for every n at or above n0, using the full strong inductive hypothesis
Strong induction
Needed when the inductive step reaches back further than the single immediately preceding case.
Prove a claim using the well-ordering principle
Use when: you want to show a property holds for every natural number at or above n0, and assuming a counterexample would hand you a concrete smallest case to work with
Goal: a proof that no counterexample to the claim exists, built from well-ordering's guaranteed least element
The well-ordering principle
An alternative to induction, built from a least-counterexample argument instead.
Set theory
Prove set equality by double inclusion
Use when: you must prove A=B for sets described by a rule, where listing and comparing every element isn't possible
Goal: both subset directions established, together showing A=B
Set equality and double inclusion
Runs the subset check above in both directions.
Prove a set identity by element-chasing
Use when: you need to prove two set expressions are equal and no shortcut identity already covers the claim directly
Goal: a two-direction proof that every element of the left side lands in the right side, and every element of the right side lands in the left
Proving set identities two ways
A second way to prove the same kind of claim as double inclusion, argued element by element.
Functions
Find the inverse of a function
Use when: you're given a function f and asked to find its inverse f^{-1}
Goal: the inverse function's formula, or a clear reason no inverse function exists
Inverse functions
Needs one-to-one and onto confirmed first, from the two recipes above.
Relations
Find the equivalence classes of a relation
Use when: you have a confirmed equivalence relation on a set and need to sort every element into its class
Goal: every equivalence class the relation produces, each one written exactly rather than by a partial sample
Equivalence classes
Assumes the relation already passed the three property tests above.
Sequences and recurrence
Derive and solve a recursive algorithm's running-time recurrence
Use when: you're given a recursive algorithm's code or description and asked how its running time grows with the input size n
Goal: a running-time recurrence T(n), solved directly or matched to a growth rate already known
Recursion in algorithms
Often solved with the same characteristic-root method as the recipe above.