Index
Page references are by chapter and section number.
- "n choose r" — 16.2
- $1/e$ (derangement limit) — 17.6
- $n$-tuple — 8.4
- 0^n 1^n (canonical non-regular language) — 35.5
- 2-opt (local search) — 30.6, key-takeaways
- 2-SAT (in P) — 37.5, 37.6, Spaced Review
- 3-SAT — 37.5
A
- abelian group (commutative group) — 24.2
- absorption law — 1.4, 1.5
- accept state / reject state — 36.1
- accepting / final state — 35.2
- acyclic graph — 31.1
- addition (rule of inference) — 3.2
- additive inverse (uniqueness example) — 5.4
- additivity (probability) — 20.2
- adjacency list — 28.6, 28.1
- adjacency matrix — 28.6, 40.5 [Ch. 28], 28.1
- adjacent — 27.2
- adversary / counting argument — 14.6
- AES (S-box, MixColumns) — 24.5, 24.6
- affine cipher (inverse example) — 23.3
- affirming the consequent — 3.3
- aggregate / amortized counting — 28.6
- Akra–Bazzi method — §19.6
- al-Khwarizmi (origin of "algorithm") — 14.1
- al-Kindi (frequency analysis, attribution) — 25.1
- aleph-null — 10.5
- algebra of logic (equivalence proof) — 1.4
- algebraic structure — 24.1
- algorithm — 14.1
- algorithm vs. implementation — 14.1
- algorithmic-complexity attack — 26.3
- all() as universal quantifier — 2.5
- all-horses-same-color fallacy — 6.6
- alphabet ($\Sigma$) — 35.1
- alphabet (binary) — 38.1
- alternating sum identity — 16.4
- alternating sum of binomial coefficients — 17.4
- ancestor / descendant — 31.2
- anti-diagonal sweep — 10.2
- antisymmetric — 12.3
- any() as existential quantifier — 2.5
- append (concatenation) — 7.5
- approximation algorithm — 30.6, Summary
- approximation algorithm (Christofides) — 37.6
- approximation algorithms (mention) — 40.5
- arbitrary element (UG) — 3.4
- arc (directed edge) — 27.3
- argument — 3.1
- arithmetic expression grammar — 7.3, 7.4
- arithmetic sequence — 11.3
- arithmetic series — 11.3
- arity (of a predicate) — 2.1
- array representation of a heap — 31.5
- arrow / morphism — 40.4
- assignment problem — 34.6
- associated homogeneous recurrence — 18.5
- asymptotic analysis — 14.3
- augmenting path — 34.3
- average case — 14.6
B
- back edge — 28.4
- back edge (residual) — 34.3
- backreference (non-regular, mentioned) — 35.4
- balanced parentheses (non-regular) — 35.5
- base case — 6.2, 6.3
- base cases, counting (strong induction) — 7.1
- base rate — 21.4
- base-rate fallacy — 21.4
- basis clause — 7.3, 7.4
- bayes (toolkit function) — 21.3, Project Checkpoint
- Bayes' theorem — 21.3
- bayes_update (toolkit function) — Project Checkpoint
- begging the question — 4.5
- best case — 14.6
- BFS correctness (queue invariant) — 28.2
- BFS tree / DFS tree — 28.4
- biconditional — 1.2, 1.3
- biconditional (proving both directions) — 4.3
- Big-O notation — 14.3
- Big-Omega notation — 14.3
- Big-Theta notation — 14.3
- bijection (combinatorial proof) — 16.5
- bijection (in stars-and-bars proof) — 17.3
- bijective / bijection / one-to-one correspondence — 9.3
- binary entropy function — 40.2
- binary exponentiation — 23.5
- binary operation — 24.1
- binary search — §19.1, §19.4
- binary search (analysis) — 14.4
- binary search tree (BST) — 31.4
- binary strings avoiding "00" — 18.2
- binary symmetric channel — 38.1, 40.2
- binary tree — 31.3
- binomial coefficient — 16.2, 16.4, 16.5
- binomial theorem — 16.4
- bipartite graph — 27.3
- bipartite matching — 34.5, 40.1 [Ch. 34]
- bipartition — 27.3
- birthday problem — 20.2
- block / cell (of a partition) — 12.4
- block / message size (RSA) — 25.4
- block code — 38.1
- block length — 38.1
- Borůvka's algorithm — 32.1 (Learning Paths), 32.6
- bottleneck (of an augmenting path) — 34.3
- bound variable — 2.5
- bounded halting ("halts within N steps") — 36.6
- branch-and-bound (Concorde, mention) — 30.5
- branch-and-bound / Held–Karp — 37.6
- branching factor (a) — §19.1
- breadth-first search (BFS) — 28.4, 28.6, 28.2
- bridges of Königsberg — 30.2, 30.1, Summary
- brute-force attack (on a cipher) — 25.1
- brute-force feasibility — 16.6
- brute-force search (counting) — 15.1, 15.6
- brute-force search (TSP) — 30.5
- BST insertion — 31.4
- BST property / invariant — 31.4
- BST search — 31.4
- burst error — 26.5
- burst error (in coding) — 38.6
- Bézout coefficients — 22.5
- Bézout's identity — 22.5
- Bézout's identity (for inverse) — 23.3
C
- Caesar cipher — 25.1
- cancellation (modular, restriction on) — 23.2, 23.3
- canonical remainder (Python
%) — 22.3 - Cantor pairing function — 10.2, Project Checkpoint
- Cantor's diagonal argument (diagonalization) — 10.3
- Cantor's theorem — 10.5
- capacity (of an edge) — 34.1
- capacity constraint — 34.1
- capacity of a cut — 34.4
- cardinality (finite) — 8.1
- cardinality (infinite) — 10.1
- Carter–Wegman family — 26.3
- Cartesian product — 8.4
- Cartesian product (used; defined Ch. 8) — 12.1
- category — 40.4
- category theory — 40.4
- Cayley's formula — 32.1
- ceiling function — 9.5
- certain event — 20.1
- certificate (witness) — 37.3, 37.4, 37.2
- change of coordinates (CRT as) — 23.4
- change of logarithm base — 14.4
- channel capacity — 40.2
- characteristic equation — 18.4
- characteristic root — 18.4
- characterizations of trees — 31.1
- checksum — 26.4
- Chinese Remainder Theorem — 23.4
- Chinese Remainder Theorem (in RSA proof) — 25.5
- Chomsky hierarchy — 35.6
- choosing a proof strategy — 5.6
- choosing the counting model (order? repetition?) — 16.3
- chosen-plaintext comparison attack — 25.6
- Christofides' algorithm — 30.6, Summary
- Church–Turing thesis — 36.2
- Church–Turing thesis (strong / extended) — 37.1
- cipher — 25.1
- ciphertext — 25.1
- CIRC (CD error correction) — 38.6
- circular arrangement — 15.5
- circular permutation / circular arrangement — 16.1
- classification of finite fields (Theorem 24.5) — 24.5
- clause / literal — 37.3, 37.5
- CLIQUE — 37.5
- closed form (explicit formula) — 18.1
- closed form (of a sequence) — 11.1
- closure (of a relation) — 12.5
- closure (property) — 24.1, 24.2
- code — 38.1
- code rate — 38.2
- code to recurrence — 18.6
- codeword — 38.1
- codomain — 9.2
- coefficient extraction $[x^n]$ — 17.5
- collision — 26.2
- collision (hash) — 17.1, Summary; (forward to Ch.26)
- collision (hashing) — 9.6
- collision resistance — 26.6
- collision resolution (chaining, probing) — 26.1, 26.2
- collision theorem (collisions unavoidable) — 26.2
- combination — 16.2, 16.3
- combinations with repetition — 17.3
- combinatorial explosion — 15.6
- combinatorial optimization — 40.1
- combinatorial proof — 16.5
- committee–chair identity — 16.5
- common difference — 11.3
- common proof mistakes — 4.5
- common ratio — 11.3
- commutative ring with unity — 24.4
- complement — 8.3
- complement counting — 15.6, 17.4, 17.6
- complement rule (probability) — 20.2
- complete binary tree — 31.3
- complete bipartite graph, K_{m,n} — 27.3
- complete graph $K_n$ (Euler vs. Hamilton) — 30.3, key-takeaways
- complete graph, K_n — 27.3
- complexity class — 37.1
- complexity of traversal — 28.6
- composite — 22.2
- composition (of arrows) — 40.4
- composition of functions — 9.4
- composition, associativity of — 9.4
- composition, non-commutativity of — 9.4
- computable / definable real number — 10.6
- computational formula for variance — 20.5
- computational infeasibility — 26.6
- concatenation (regex) — 35.4
- conclusion — 3.1
- conclusion (consequent) — 1.2
- condition on the last choice (setup move) — 18.2
- condition simplification — 1.5
- conditional independence (given the class) — 21.5
- conditional probability — 21.1
- conditional statement (proving) — 4.3
- conditioning (shrinking the sample space) — 21.1
- configuration (of a Turing machine) — 36.1
- congruence — 23.1
- congruent modulo n — 23.1
- conjecture — 4.1
- conjecture, disproving (used) — 5.5
- conjunction — 1.2, 1.3
- conjunction (rule of inference) — 3.2
- conjunctive normal form (CNF) — 37.5
- connected — 27.2
- connected component — 27.2, 28.4
- connected graph (tree context) — 31.1
- connective — 1.2
- connectivity (required for Euler) — 30.2, Spaced Review, Summary
- connectivity (testing via traversal) — 28.4
- Cons / Nil — 7.5
- conservation constraint (flow conservation) — 34.1
- constant coefficients — 18.3
- constant time — 14.5
- constrained selection (generating function) — 17.5
- constructive proof — 5.4
- context-free language — 35.6
- context-sensitive language — 35.6
- contingency — 1.4
- continuum — 10.5
- Continuum Hypothesis — 10.5
- contradiction — 1.4
- contraposition template — 4.4
- contrapositive — 1.4, 4.4
- convergence (of a series) — 11.3
- converse — 1.4
- converse (vs. contrapositive) — 4.4
- convolution (power-series multiplication) — 17.5
- Cook–Levin theorem — 37.4, Summary
- coping with intractability (menu) — 37.6
- coprime / relatively prime — 22.4
- coprime message case ($\gcd(m,n)=1$) — 25.5
- corner / vertex (of a polytope) — 40.1
- corollary — 4.1
- Corollary (a^|G| = e in a finite group) (24.3) — 24.3
- correction threshold (Theorem 38.3) — 38.3
- coset — 24.3
- countable — 10.2
- countable union of countable sets — 10.2
- countably infinite — 10.2
- counterexample — 2.4
- counterexample (to an argument) — 3.1
- counterexample (used) — 5.5
- counting principle — 15.1
- coupon-collector problem (mention) — 17.6
- critical exponent (log_b a) — §19.3, §19.2
- crossing edge — 32.5
- CRT construction — 23.4
- cryptographic hash function — 26.6
- cubic time — 14.5
- cut — 32.5
- cut property — 32.5
- cut vertex (mentioned) — 27.2
- cycle — 27.2
- cycle detection (undirected) — 28.4
- cycle property — 32.5
- cyclic group — 24.3
- cyclic multiplicative group of a finite field (Theorem 24.6) — 24.5
- cyclic redundancy check (CRC) — 24.6, 26.5
D
- De Morgan's laws — 1.4, 1.5
- De Morgan's laws (for sets) — 8.5
- dead state / trap state — 35.2
- decidable (recursive) — 36.3
- decider — 36.3
- decimal expansion (uniqueness) — 10.3
- decision problem — 10.4, 36.3 (uses Ch.10), 37.6, 37.1
- decision table (four counting models) — 16.3
- decision vs. optimization (TSP) — 30.5, Summary
- declarative statement — 1.2
- Dedekind-infinite set — 10.1
- deduplication — 8.6
- deficiency (Hall's condition) — 34.5
- definiteness / finiteness / effectiveness (algorithm properties) — 14.1
- degenerate BST — 31.4
- degree sequence — 27.4, 27.5
- degree, deg(v) — 27.2
- degrees of separation — 28.2 (social-network anchor)
- dense graph — 28.1, 28.6
- denying the antecedent — 3.3
- dependency graph — 27.6
- depth (of a vertex) — 31.2
- depth-first search (DFS) — 28.4, 28.5, 28.6, 28.3
- derangement — 17.6
- derangement recurrence — 17.6
- derivation — 3.5
- detection threshold (Theorem 38.2) — 38.3
- deterministic encryption (weakness) — 25.6
- deterministic finite automaton (DFA) — 35.2
- diagonalization (applied to programs) — 36.4 (defined Ch.10)
- Diffie-Hellman key exchange (mention) — 24.3, 24.6
- Diffie–Hellman (attribution; Ellis/Cocks/Williamson) — 25.3
- digest — 26.6
- digital signature — 25.6
- digraph (frequency) — 25.1
- dimension of a code — 38.5
- Dirac's theorem — 30.3, Summary
- direct proof — 4.3
- direct-proof template — 4.3
- directed acyclic graph (DAG) — 28.5
- directed graph (digraph) — 27.3
- discrete logarithm — 24.3, 24.6
- disjoint events — 20.1, 20.2
- disjoint sets — 8.3
- disjoint sets (in counting) — 15.3, 15.4
- disjoint-set forest — 32.3
- disjunction (inclusive or) — 1.2, 1.3
- disjunctive syllogism — 3.2
- disproof — 5.5
- disprove_forall (Toolkit) — Project Checkpoint
- distinct roots (case) — 18.4
- distribution (of a random variable) — 20.3
- distributive law (for sets) — 8.5
- distributive law (logic) — 1.4, 1.5
- divide-and-conquer — §19.1
- divide-and-conquer (exponent halving) — 23.5
- divide-and-conquer recurrence — §19.1
- divide-and-conquer recurrence (forward to Ch. 19) — 18.6
- divide-and-conquer, relation to strong induction — 7.1
- divides ($a \mid b$) — 22.1
- divides / divisibility ($a \mid b$) — 4.2
- divisibility — 22.1
- divisibility counting (1..1000 by 2,3,5) — 17.4
- divisibility, in contradiction proofs (used) — 5.1
- divisibility, proof by induction — 6.3
- divisible difference (pigeonhole, mod m) — 17.1
- Division Algorithm — 22.3
- division algorithm (existence) — 7.2
- division rule — 15.5
- divisor / factor — 22.1
- divisor / factor / multiple — 4.2
- dmtoolkit summary() — Project Checkpoint
- domain — 9.2
- domain (domain of discourse, universe) — 2.1, 2.2
- domino tiling (2×n board) — 18.2
- dominoes (intuition) — 6.1
- double counting — 16.5, 27.4
- doubling loop — 11.6
- doubling ratios — Project Checkpoint
- dropped-case error — 4.6
- dual (linear program) — 40.1
E
- easy-vs-hard boundary — 30.4, What's Next, Summary
- ECC memory (error-correcting memory) — 38.4
- edge — 27.1
- Edmonds–Karp algorithm — 34.3
- element (of a set) — 8.1
- element method (of proof) — 8.5
- empirical complexity estimator — Project Checkpoint
- empty language vs. {ε} — 35.1
- empty product — 11.5
- empty set — 8.1
- empty string ($\varepsilon$) — 35.1
- empty sum — 11.2
- empty-acceptance problem (EMPTY) — 36.5
- encode / decode — 38.1
- endpoint — 27.2
- enumeration — 10.2
- equally-likely model — 20.2
- equinumerous — 10.1
- equivalence class — 12.4
- equivalence of induction forms — 7.6
- equivalence of NFA and DFA — 35.3
- equivalence relation — 12.4
- equivalence relation (congruence as) — 23.1
- equivalent (Toolkit) — Project Checkpoint
- Erdős probabilistic lower bound (R(k,k) > 2^{k/2}) — 40.3, attributed Erdős 1947
- error amplification (repetition) — 21.6
- error correction (vs. detection) — 38.1, 38.3
- error detection (vs. correction) — 38.1, 38.3
- error detection vs. error correction — 26.6, Project Checkpoint
- error polynomial — 26.5
- Euclid key lemma ($\gcd(a,b)=\gcd(b, a\bmod b)$) — 22.4
- Euclid's Lemma — 22.5
- Euclid's number ($p_1\cdots p_r + 1$) — 22.2
- Euclidean algorithm — 22.4
- Euler (Leonhard), 1736 — 30.1, 30.2
- Euler circuit (Euler tour) — 30.4, 30.2, Summary, Project Checkpoint
- Euler path — 30.4, 30.2, Summary
- Euler's prime-generating polynomial — 5.5
- Euler's theorem — 23.6, 30.2, Summary
- Euler's theorem (derived from Corollary 24.3) — 24.3 [first-defined Ch. 23]
- Euler's theorem (in RSA proof) — 25.5
- Euler's totient function — 23.6
- Euler's totient phi(n) (as |Z_n^*|) — 24.2, 24.3 [first-defined Ch. 23]
- Euler–Mascheroni constant — 11.4
- evaluation map (polynomial code) — 38.6
- even (definition) — 4.2
- even parity / odd parity — 26.4
- even-degree condition — 30.2
- event — 20.1
- evidence (Bayes denominator) — 21.3
- exchange argument — 31.6, 32.5
- exclusion clause — 7.3, 7.4
- exclusive or (xor) — 1.2, 1.3
- exhaustive cases — 5.3
- existence of modular inverse — 23.3
- existence proof — 5.4
- existential generalization (EG) — 3.4
- existential instantiation (EI) — 3.4
- existential quantifier — 2.2
- expectation — 20.4
- expected number of empty buckets — 20.4
- expected value — 20.4
- explicit formula — 18.1
- exponent reduction (mod phi) — 23.6
- exponential / factorial time — 30.4, 30.5
- exponential function — 9.5
- exponential running time (naive Fibonacci) — 18.6
- exponential state blow-up — 35.3
- exponential time — 14.5
- exponentiation by squaring — 6 (case study 2), §19.5
- expression tree — 31.5
- extended Euclidean algorithm — 22.5
- extended Euclidean algorithm (for inverse) — 23.3
- extended Master Theorem (n^E log^k n) — §19.6
F
- factorial — 11.5
- factorial growth — 11.5
- factorial overflow — 11.5
- factorial time — 14.5
- factoring (NP, not known NP-complete) — 37.6
- fallacy — 3.3
- falling product (computing P(n,r)) — 16.1
- false-positive rate — 21.4
- fast modular exponentiation (RSA use) — 25.4
- fast power (mod_pow) — 23.5
- feasible region / polytope — 40.1
- Fermat's little theorem — 23.6
- Fermat's little theorem (derived from Corollary 24.3) — 24.3 [first-defined Ch. 23]
- Fermat's little theorem (in RSA proof) — 25.5
- Fibonacci generating matrix — §19.5
- Fibonacci numbers — 6.4
- Fibonacci numbers, growth bound — 7.1
- Fibonacci recurrence — 18.2, 18.4, 18.6
- Fibonacci sequence — 11.1
- Fibonacci worst case (Euclidean algorithm) — 22.4
- Fibonacci, closed form (Binet's formula) — §19.5
- field — 24.4
- field criterion for Z_n (Theorem 24.4) — 24.4
- FIFO queue (in BFS) — 28.2
- find operation (union-find) — 32.3
- find_counterexample (Toolkit) — Project Checkpoint
- finding the maximum (lower bound) — 14.6
- finishing time (DFS post-order) — 28.5
- finite field — 24.5
- finite injective–surjective equivalence — 9.3
- fixed point (of a random permutation) — 20.4
- fixed-parameter tractable (FPT) — 37.6
- floating-point as countable approximation — 10.6
- flood fill — 28.4
- floor function — 9.5
- floor function (counting multiples) — 15.4
- flow — 34.1
- flow network — 34.1
- forcing term — 18.5
- Ford–Fulkerson method — 34.3
- forest — 31.1
- formal fallacy — 3.3
- formal power series — 17.5
- formal proof — 3.5
- forward edge (residual) — 34.3
- free variable — 2.5
- frequency analysis — 25.1
- freshness condition (EI) — 3.4
- frozenset — 8.6
- full binary tree — 7.5, 31.3
- function — 9.1, 9.2
- function as a relation — 9.1
- function composition — 40.4 [Ch. 9]
- functions N -> {0,1}, uncountability of — 10.4
- functor — 40.4
- fundamental theorem of arithmetic (FTA) — 22.6
G
- gadget reduction (3-SAT ≤_p CLIQUE) — 37.5
- Galois field — 24.5
- gcd (greatest common divisor) — 22.4
- gcd–lcm identity ($\gcd\cdot\operatorname{lcm}=ab$) — 22.6
- general number field sieve (mention) — 25.6
- general recursive functions — 36.2
- generalized pigeonhole principle — 17.2
- generalized pigeonhole principle (worst chain length) — 26.2
- generating function (ordinary, OGF) — 17.5
- generator — 24.3
- generator matrix — 38.5
- generator polynomial — 26.5
- geometric sequence — 11.3
- geometric series — 11.3
- geometric series (as generating function $1/(1-x)$) — 17.5
- geometric series (in recurrence solving) — §19.2
- GF(2^8) (AES, Reed-Solomon) — 24.5, 24.6
- GF(2^n) — 24.5, 24.6
- GF(p) — 24.5
- golden ratio (forward to Ch. 19) — 18.4
- golden ratio (mention) — 11.1
- golden ratio (phi) — §19.5
- grammar / production rule — 35.6
- graph — 27.1
- graph 3-coloring (complexity) — 37.5
- graph isomorphism — 27.5
- greedy algorithm (suboptimal for TSP) — 30.6
- group — 24.2
- group as one-object category — 40.4 [Ch. 24]
- group axioms (associativity, identity) — 40.4 [Ch. 24]
- growth-rate hierarchy — 11.5, 11.6, 14.5
H
- Hall's marriage theorem — 34.5
- halt (vs. loop forever) — 36.1, 36.3, 36.4
- halting problem (HALT) — 36.5, 36.6, 36.4
- halting problem (preview) — 5.2
- halving loop / logarithmic time — 14.4
- Hamilton (William Rowan); Icosian game — 30.3
- Hamilton circuit (complexity / NP membership) — 37.2, 37.5, Project Checkpoint
- Hamilton circuit (Hamilton cycle) — 30.4, Summary, 30.3
- Hamilton path — 30.4, Summary, 30.3
- Hamming ball (decoding sphere) — 38.3
- Hamming code — 38.4
- Hamming code / linear code over GF(2) — 40.2 [Ch. 38]
- Hamming distance — 38.2, Project Checkpoint
- Hamming distance is a metric (Theorem 38.1) — 38.2
- Hamming(7,4) code — 38.4, Project Checkpoint
- handshaking lemma — 27.4
- handshaking lemma (in time analysis) — 28.6 (defined in Ch.27)
- harmonic number — 11.4
- harmonic number (in quicksort analysis) — 21.6
- hash collision (probability) — 20.2
- hash function — 9.6, 26.1
- hash function (as pigeonhole example) — 17.1
- hash table — 26.1
- hashable — 8.6
- hat-check problem — 17.6, 20.4
- heap — 31.5
- heap property — 31.5
- height (of a tree) — 31.2
- Held–Karp dynamic programming — 30.5, key-takeaways
- heuristic — Summary, 30.6
- heuristic (nearest-neighbor, local search) — 37.6
- Hierholzer's algorithm — 30.2, Project Checkpoint
- Hilbert's Hotel — 10.5
- Hilbert's tenth problem — 36.5
- Hindley–Milner type inference — 3.6
- homogeneous recurrence — 18.3
- homogeneous solution — 18.5
- Horner's method — 6 (case study 1)
- Horner's rule (in hashing) — 26.1
- Huffman coding — 31.6, 40.2 [Ch. 31]
- Huffman optimality — 31.6
- Huffman tree — 31.6
- hypothesis (antecedent) — 1.2
- hypothetical syllogism — 3.2
I
- identity arrow — 40.4
- identity function — 9.4
- image (of a set) — 9.2
- image (of an element) — 9.1
- image segmentation (graph cut) — 34.6
- implication — 1.2, 1.3
- impossibility results — 5.2
- impossible event — 20.1, 20.2
- in-degree, out-degree — 27.3
- incidence ((vertex, edge) pair) — 27.4
- incident — 27.2
- inclusion-exclusion — 15.4
- inclusion-exclusion, three sets — 15.4
- inclusion-exclusion, two sets — 15.4
- inclusion–exclusion (probability) — 20.2
- inclusion–exclusion principle (general) — 17.4
- inclusion–exclusion, sign rule — 17.4, Summary
- independence (of events) — 21.2
- INDEPENDENT SET — 37.5
- independent vs. mutually exclusive — 21.2
- index of summation — 11.2
- index shift — 11.2
- indicator expectation — 20.4
- indicator random variable — 20.3, 20.4, 21.6
- inductive definition — 7.3
- inductive hypothesis — 6.2, 6.4
- inductive step — 6.2, 6.3
- inference rule — 3.2
- infinite geometric series — 11.3
- infinitude of primes (Euclid's theorem) — 5.1, 22.2
- infix / prefix / postfix notation — 31.5
- information theory — 40.2
- initial condition — 11.1, 18.1
- initialization (loop) — 6.5
- injective / injection / one-to-one — 9.3
- inorder traversal — 31.3
- input size — 14.2
- input space, sizing — 15.6
- integer factorization (hardness) — 25.6
- integer linear programming (ILP) — 40.1
- integers, countability of — 10.2
- integrality (of integer-capacity max flow) — 34.5
- interior-point method — 40.1
- internal node — 31.2
- intersection — 8.3
- invalid argument — 3.1
- inverse Ackermann function — 32.3
- inverse function — 9.4
- invertibility theorem (invertible iff bijective) — 9.4
- irrational number — 5.1
- irreducible polynomial — 24.5
- is_tautology (Toolkit) — Project Checkpoint
- is_tree (toolkit) — Project Checkpoint
- ISBN-10 check digit — 26.4
- isolated vertex — 27.2
- isomorphic graphs — 27.5
- isomorphism (Z_N and product) — 23.4
- isomorphism invariant — 27.5
- iterative DFS (explicit stack) — 28.3
J
- join (relational) — 12.6
- joins (an edge joins two vertices) — 27.1
- joint probability table — 21.1
K
- k-ary relation — 12.6
- Karatsuba multiplication — §19.1, §19.3
- Kerckhoffs's principle — 25.1
- key (cryptographic) — 25.1
- key (database) — 12.6
- key generation — 25.4
- key size (RSA, 1024/2048/3072 bits) — 25.6
- key space (size) — 25.1, 25.6, Summary
- key-distribution problem (key exchange) — 25.2
- keyspace — 15.1, 15.6
- keyspace sizing — 15.6
- Kirchhoff's matrix-tree theorem — 32.1
- Kleene star (regex) — 35.4
- Kleene star of an alphabet ($\Sigma^{*}$) — 35.1
- Kleene's theorem — 35.4
- Kruskal's algorithm — 32.3
L
- Lagrange's theorem (Theorem 24.2) — 24.3
- lambda calculus — 36.2
- language — 35.1
- language recognized by a machine, L(M) — 35.2
- Laplace model — 20.2
- Laplace smoothing — 21.5
- Las Vegas algorithm — 21.6
- last digit (via mod 10) — 23.2
- law of large numbers — 20.6
- law of the excluded middle — 1.4, 5.1
- law of total probability — 21.3, 21.4
- laws of logic (catalog) — 1.4
- lcm (least common multiple) — 22.6
- leading term dominates (theorem) — 14.3
- leaf — 31.1, 31.2
- leaf (pendant vertex) — 27.2
- leaf cost (n^{log_b a}) — §19.3, §19.2
- leaf existence lemma — 31.1
- least element — 7.2
- leaves vs. internal nodes — 7.5
- left child / right child — 31.3
- lemma — 4.1, 4.2
- length (of a list) — 7.5
- length (of a walk/path) — 27.2
- length of a string — 35.1
- level-order traversal — 31.3
- lexer vs. parser (compiler phases) — 35.6
- liar paradox — 1.2
- LIFO stack (in DFS) — 28.3
- light edge — 32.5
- like quantifiers commute — 2.3
- likelihood — 21.3
- linear code — 38.5
- linear combination (divisibility) — 22.1, 22.4
- linear congruence — 23.3
- linear extension — 28.5 (cross-ref Ch.13)
- linear homogeneous recurrence — 18.3
- linear programming (LP) — 40.1
- linear recurrence — 18.3
- linear time — 14.5
- linear-bounded automaton — 35.6
- linearithmic time (n log n) — 14.5
- linearity of expectation — 20.4, 40.3 [Ch. 20]
- linearity of summation — 11.2
- linearly dependent columns (and d_min) — 38.5
- list (recursive definition) — 7.5
- load balancing (pigeonhole bound) — 17.2
- load factor (α) — 26.2
- local search / local optimum — 30.6
- log-probabilities (underflow) — 21.5
- logarithm function — 9.5
- logarithmic time — 14.5
- logic programming (Prolog) — 3.6
- logical equivalence — 1.4
- loop (self-loop) — 27.1
- loop invariant — 6.5, 40.5 [Ch. 6]
- lower bound (asymptotic) — 14.3, 14.6
- lower bound (problem) — 14.6
- lower limit / upper limit — 11.2
- LP duality — 40.1
M
- machine-checkable proof — 3.5
- maintenance (loop) — 6.5
- making change (generating function) — 17.5
- many-one (Karp) reduction — 37.4
- map fusion — 40.4
- Master Theorem — §19.3
- Master Theorem, Case 1 (leaves win) — §19.3
- Master Theorem, Case 2 (tie) — §19.3
- Master Theorem, Case 3 (root wins) — §19.3
- matched / unmatched vertex — 34.5
- matching — 34.5
- matching (vs. counting) — 10.1
- matching-to-max-flow reduction — 34.5
- mathematical induction — 6.1, 6.2, 6.3
- matrix exponentiation — §19.5
- max flow (maximum flow) — 34.2
- max-flow min-cut as LP duality — 40.1 [first-defined Ch. 34]
- max-flow min-cut theorem — 34.4, 40.1 [first-defined Ch. 34]
- maximally acyclic — 31.1
- maximum distance separable (MDS) — 38.6
- maximum edges, C(n,2) — 27.1
- maximum flow — 40.1 [Ch. 34]
- maximum matching — 34.5
- maximum-flow problem — 34.2
- mean (of a random variable) — 20.4
- membership relation ($\in$) — 8.1
- memoization — §19.5
- merge (procedure) — §19.4
- merge sort — §19.1, §19.4, §19.2
- method of undetermined coefficients — 18.5
- metric TSP — 30.6
- Millennium Prize Problem — 30.4
- Millennium Prize Problems — 37.6
- min cut (minimum s–t cut) — 34.4
- min-cut segmentation — 34.6
- min-heap / max-heap — 31.5
- minimally connected — 31.1
- minimax path property — 32.6
- minimum distance — 38.2
- minimum distance equals minimum weight (Theorem 38.4) — 38.5
- minimum spanning forest — 32.6
- minimum spanning tree (MST) — 32.2, 32.3, 32.4, 32.5, 32.6, 40.1 [Ch. 32]
- mod as a function — 9.5
- mod operator vs. congruence relation — 23.1, 23.2
- model-independence of polynomial time — 37.1
- modeling with graphs — 27.6
- modeling with recurrences — 18.2
- modular arithmetic rules — 23.2
- modular exponentiation — 23.5
- modular hash — 26.1, 26.3
- modular inverse — 23.3
- modular inverse (used in keygen) — 24.2, Project Checkpoint [first-defined Ch. 23]
- modular inverse (via Bézout, preview) — 22.5
- modulus — 23.1
- modulus $n = pq$ (RSA) — 25.4
- modus ponens — 3.2
- modus tollens — 3.2
- monad (mention) — 40.4
- monochromatic triangle — 40.3
- monotonicity (probability) — 20.2
- Monte Carlo algorithm — 21.6
- Monte-Carlo simulation — 20.6
- MST problem (statement) — 32.2
- MST vs. shortest-path tree — 32.6
- MST, uniqueness (distinct weights) — 32.2, 32.4
- multigraph — 27.1, 30.1
- multiple — 22.1
- multiple edges — 30.1
- multiplication rule (probability) — 21.1, 21.3
- multiplicative function (totient) — 23.6
- multiplicity (of a root) — 18.4
- multiset — 17.3
- multiset permutation — 16.1
- mutual inclusion (double containment) — 8.2, 8.5
- mutual independence — 21.2
- mutually exclusive cases — 15.3
- mutually exclusive events — 20.1
N
- naive Bayes — 21.5
- naive recursive Fibonacci (exponential) — §19.5
- natural frequencies — 21.4
- natural transformation (mention) — 40.4
- nearest-codeword decoding (minimum-distance decoding) — 38.3
- nearest-neighbor heuristic — 30.6, Project Checkpoint
- negation — 1.2, 1.3
- negation of a quantified implication — 2.4
- negation of quantifiers (De Morgan for quantifiers) — 2.4
- neighborhood, N(v) — 27.2
- nested loop analysis — 11.6
- nested loops, analysis of — 14.4
- nested quantifier — 2.3
- network design — 32.6
- noisy channel — 38.1
- noisy-channel coding theorem — 40.2
- noisy-channel coding theorem (Shannon) — 40.2
- non-constructive proof — 5.4, 40.3
- non-negative integer solutions (of $x_1+\cdots+x_k=n$) — 17.3
- non-negative residue convention — 23.1
- non-regular language — 35.5
- nondeterministic finite automaton (NFA) — 35.3
- nondeterministic polynomial time — 37.2
- nonhomogeneous recurrence — 18.5
- nonlinear recurrence — 18.3
- normalization (probability) — 20.2
- NP (complexity class) — 37.3, 37.4, 37.6, Summary, 37.2
- NP (verification class, informal) — 30.4, 30.5
- NP-complete — 37.5, 37.6, 37.4, Summary
- NP-complete zoo — 37.5
- NP-hard — 37.5, 37.4, Summary
- NP-hard (preview) — 30.5, 30.4, Summary
- NP-hard / NP-complete / SAT — 37], 40.1, 40.5 [Ch. 30
O
- object (category theory) — 40.4
- odd (definition) — 4.2
- odd-degree vertex (as obstruction) — 30.1, 30.2
- odd-degree-vertex corollary — 27.4
- off-by-one (indexing) — 11.1
- one-way function — 25.3
- one-way function (intro) — 9.6
- open-padlock analogy — 25.3
- operation counting — 14.2
- operator precedence (logic) — 1.2
- optimal algorithm — 14.6
- optimality certificate — 40.1
- optimality certificate (flow) — 34.4
- optimization problem (vs. decision) — 37.1, 37.6
- order (of a recurrence) — 18.1, 18.3
- order of a group — 24.2
- order of an element — 24.3
- order of quantifiers — 2.3
- ordered pair — 8.4
- ordered pair (used; defined Ch. 8) — 12.1, 27.1, 27.3
- ordered selection without repetition — 15.2, 15.6
- outcome — 20.1
- over-counting — 15.5
P
- P (complexity class) — 37.3, 37.4, 37.6, Summary, 37.2
- P versus NP problem — 37.6
- P vs. NP (preview) — 1.6
- P vs. NP problem — 30.4, What's Next
- P ⊆ NP (containment) — 37.2, 37.3
- P(n, k) (introduced via product rule) — 15.2, 15.6
- padding (OAEP, mention) — 25.6
- pairwise coprime moduli — 23.4
- pairwise independence — 21.2
- pairwise keys, $\binom{n}{2}$ (scaling) — 25.2, Summary
- parallel edges — 27.1
- parent / child — 31.2
- parity argument — 5.3, 30.1, 30.2
- parity bit — 26.4
- parity-check matrix — 38.5
- parity-check position — 38.4
- partial fractions (in telescoping) — 11.4
- particular solution — 18.5
- partition — 12.4
- party problem — 40.3
- Pascal's rule — 16.4
- Pascal's triangle — 16.4
- password counting — 15.1, 15.2, 15.6
- path — 27.2
- path compression — 32.3
- path reconstruction — 28.2
- peel off the structure (setup move) — 18.2
- perfect matching — 34.5
- permutation — 16.1, 16.3
- permutation, with repeated objects (multiset) — 16.1
- permutations vs. combinations — 16.3
- pigeonhole principle — 40.3 [Ch. 17], 17.1
- pigeonhole principle (applied to hashing) — 26.2
- pigeonhole principle (preview) — 9.3
- pigeonhole principle, as non-injective function — 17.1
- pivot (randomized) — 21.6
- pivotal consequence (one NP-complete in P ⇒ P = NP) — 37.4, 37.6
- plaintext — 25.1
- points in a unit square (pigeonhole) — 17.2
- polynomial hash (string hashing) — 26.1
- polynomial over Z_2 — 26.5
- polynomial root bound (over a field) — 38.6
- polynomial time — 14.5, 30.4
- polynomial time (as the efficiency boundary) — 37.1, 37.2, 37.6
- polynomial-time reduction (≤_p) — 37.5, 37.4
- positive integer solutions (non-empty boxes) — 17.3
- Post Correspondence Problem — 36.5
- post-order (DFS) — 28.5
- post-quantum cryptography / lattices (mention) — 40.5
- postcondition — 2.6
- posterior — 21.3
- postorder traversal — 31.3
- power set — 8.2
- power set, cardinality of (Cantor's theorem) — 10.4, 10.5
- powers of two (sum) — 11.3
- pre-order (DFS) — 28.3
- precondition — 2.6
- predecessor / parent map — 28.2
- predicate — 2.1, 2.2
- prefix code — 31.6
- prefix-code cost — 31.6
- preimage / inverse image (of a set) — 9.2
- preimage resistance — 26.6
- premise — 3.1
- preorder traversal — 31.3
- Prim's algorithm — 32.4
- primal (linear program) — 40.1
- prime — 22.2
- prime divisor (existence) — 22.2
- prime factorization — 22.6
- prime fingerprint — 22.6
- prime modulus (in hashing) — 26.3
- prime number (used) — 5.1
- primitive element — 24.5
- primitive operation — 14.2
- primitive root mod p — 24.3
- principle of mathematical induction — 6.2
- prior — 21.3
- priority queue, in Prim — 32.4
- private exponent $d$ — 25.4
- private key — 25.3, 25.4
- probabilistic method — 20.6, 40.3 [Ch. 20]
- probabilistic method (revisited) — 40.3
- probability axioms (Kolmogorov) — 20.2
- probability function — 20.2
- product notation — 11.5
- product rule — 15.2, 15.6
- program equivalence (undecidability) — 36.5
- programs, countability of — 10.4
- projection (relational) — 12.6
- proof (what it is) — 4.1
- proof assistant — 36.6
- proof by cases — 5.3, 5.6
- proof by contradiction — 5.1, 5.2, 5.6
- proof by contraposition — 4.4
- proof by example (fallacy) — 4.5
- proof template (universal) — 4.5
- proper subset — 8.2
- proper subset, equinumerous with whole — 10.1
- proposition — 1.2
- proposition vs. predicate — 2.1
- propositional variable — 1.2
- prosecutor's fallacy — 21.4
- public exponent $e$ — 25.4
- public key — 25.3, 25.4
- public-key cryptography (asymmetric cryptography) — 25.3
- pumping (a string) — 35.5
- pumping lemma (for regular languages) — 35.5
- pumping length — 35.5
- pure function — 9.6
- pushdown automaton — 35.6
Q
- QED ($\blacksquare$) — 4.1
- quadratic time — 14.5
- quantifier — 2.2
- quantifier game (move order) — 2.3
- quotient — 22.3
R
- r-combination — 16.2
- r-permutation — 16.1
- RAM model — 14.2
- Ramsey number — 40.3
- Ramsey theory — 40.3
- Ramsey's theorem (R(3,3) ≤ 6) — 40.3
- random variable — 20.3
- randomized algorithm — 21.6
- randomized quicksort — 21.6
- range — 9.2
- rationals, countability of — 10.2
- reachability — 12.5
- read/write head — 36.1
- reading proofs critically — 4.6
- real numbers, uncountability of — 10.3
- recognition problem — 35.1
- recognizable (recursively enumerable / semi-decidable) — 36.3
- recognizer — 36.3
- recurrence (of a sequence) — 11.1
- recurrence relation — 18.1
- recursion tree — §19.2
- recursion, relation to induction — 6.1, 6.4
- recursion-tree method — §19.2
- recursive clause — 7.3, 7.4
- recursive definition — 7.3
- recursive definition (as recurrence) — 18.1
- recursive traversal — 28.3
- recursively defined set — 7.3
- recursively enumerable language — 35.6
- reduce early reduce often — 23.2
- reductio ad absurdum — 5.1
- reduction ($A \le B$) — 36.5
- Reed-Solomon code — 38.6
- Reed-Solomon codes — 24.5, 24.6
- Reed–Solomon codes — 40.2 [Ch. 38, mentioned Ch. 24]
- referential transparency — 9.6
- reflexive — 12.3
- reflexive closure — 12.5
- regular expression — 35.4
- regular language — 35.4
- regularity condition — §19.6, §19.3
- relation (binary) — 12.1
- relation digraph (directed-graph view) — 12.2
- relation matrix / adjacency matrix — 12.2
- relation on a set — 12.1
- relational model — 12.6
- remainder — 22.3
- repeated root (case) — 18.4
- repeated squaring — 23.5
- repetition code — 38.2, 38.3
- representation (graph), space–time tradeoff — 28.1, 28.6
- representative (of a class) — 12.4
- residual capacity — 34.3
- residual network — 34.3
- residue — 23.1
- residue class — 23.1
- resolution — 3.2
- restricted quantifier (forall with →, exists with ∧) — 2.2
- Reverse Polish Notation (RPN) — 31.5
- reverse-delete algorithm — 32.5
- Rice's theorem — 36.5
- ring — 24.4
- ring / shell (BFS exploration) — 28.2
- Rivest–Shamir–Adleman — 25.4
- road network graph — 27.6
- root — 31.2
- rooted tree — 31.2
- roster notation — 8.1
- RSA — 25.4
- RSA (correctness via group order) — 24.3, 24.6, Project Checkpoint [implemented Ch. 25]
- RSA / factoring assumption — 25.6
- RSA / factoring hardness — 40.5 [Ch. 25]
- RSA correctness (via Euler) — 23.6
- RSA correctness theorem — 25.5
- RSA decryption ($m \equiv c^d \bmod n$) — 25.4
- RSA encryption ($c \equiv m^e \bmod n$) — 25.4
- RSA security — 25.6
- rsa_keygen (dmtoolkit crypto.py) — Project Checkpoint
- running time as a summation — 11.6
S
- same cardinality — 10.1
- sample space — 20.1
- SAT (Boolean satisfiability problem) — 37.5, 37.6, 37.4
- SAT solvers (industrial) — 37.6
- satisfiability (SAT) — 1.6
- satisfiability (verifying,
verify_sat) — 37.3 - satisfying assignment — 1.6
- saturated edge — 34.1
- search space, sizing — 16.6
- SECDED (single-error-correct, double-error-detect) — 38.3, 38.4
- second-preimage resistance — 26.6
- security through obscurity — 25.1
- selection (relational) — 12.6
- selection with constraints (subtraction / cases) — 16.2
- self-balancing tree (AVL, red-black) — 31.4
- self-information — 40.2
- self-loop — 12.2
- self-reference — 5.2
- self-reference / running a program on itself — 36.4
- sensitivity (true-positive rate) — 21.4
- sequence — 11.1
- series — 11.2
- set — 8.1
- set difference — 8.3
- set equality — 8.2
- set identity — 8.5
- set in Python — 8.6
- set-builder notation — 8.1
- shadow price — 40.1
- Shannon entropy — 40.2
- shared-modulus attack — 25.6
- shift cipher — 25.1
- Shor's algorithm (mention) — 40.5
- Shor's algorithm / post-quantum (mention) — 25.6
- short-circuit evaluation — 1.5
- short-circuit evaluation (quantifier early exit) — 2.5
- shortest path (unweighted) — 28.2
- shrink factor (b) — §19.1
- Sieve of Eratosthenes — 22.2
- sign with $d$, verify with $e$ — 25.6
- simple graph — 27.1
- simplex algorithm — 40.1
- simplification (rule of inference) — 3.2
- single-linkage clustering — 32.6
- Singleton bound — 38.6
- sink (vertex) — 34.1
- six degrees of separation — 28.2
- small-exponent attack ($e=3$, cube root) — 25.6
- smallest counterexample (proof pattern) — 7.2
- SMT solver — 3.6
- social network graph — 27.6
- solution (of a recurrence) — 18.1
- solvability of linear congruences — 23.3
- solve_linear (Toolkit) — Project Checkpoint
- sound argument — 3.1
- sound vs. complete (program analysis) — 36.6
- soundness — 3.1
- source (vertex) — 34.1
- source-coding theorem — 40.2
- source-coding theorem (Shannon) — 40.2
- spanning tree — 32.1, 28.4 (intro)
- spanning tree, edge count ($n-1$) — 32.1
- spanning tree, number of (counting) — 32.1
- sparse graph — 28.1, 28.6
- specification (program contract) — 2.6
- spectral graph theory / PageRank / graph neural networks (mention) — 40.5
- splitting the range — 11.2
- square root of 2, irrationality of — 5.1
- square-and-multiply — 23.5
- standard deviation — 20.5
- stars and bars — 17.3
- start state — 35.2
- state (of an automaton) — 35.2
- state space (counting) — 15.1, 15.6
- state-elimination method (mentioned) — 35.4
- Stirling numbers of the second kind (mention) — 17.6
- string / word — 35.1
- strong duality — 34.4
- strong duality theorem — 40.1
- Strong Duality Theorem (LP) — 40.1
- strong induction — 7.1, 7.6
- strong inductive hypothesis — 7.1
- structural induction — 7.4, 7.5
- structural inductive hypothesis — 7.4
- subgroup — 24.2
- subset — 8.2
- subset construction — 35.3
- subset enumeration (2^n) — 16.6
- SUBSET SUM — 37.5
- subset-sum (search space) — 16.6
- substitution cipher — 25.1
- substitution method — §19.6
- subtraction principle (complement counting) — 15.6
- subtractive recurrence — §19.6
- subtree — 31.2
- sufficient condition (vs. characterization) — 30.3
- sum of binomial coefficients (= 2^n) — 16.4, 16.5
- sum of cubes — 11.4
- sum of squares — 11.4
- sum rule — 15.3
- sum rule (asymptotic) — 14.4
- summation — 11.2
- summation, proof by induction — 6.3
- Sun Tzu's puzzle — 23.4
- superposition (of solutions) — 18.3, 18.4
- surjection counting (onto functions) — 17.6
- surjective / surjection / onto — 9.3
- symbol (vs. bit) — 38.6
- symmetric — 12.3
- symmetric closure — 12.5
- symmetric difference — 8.3, 8.6
- symmetric matrix (undirected graph) — 28.1
- symmetric-key cryptography — 25.2
- symmetry identity (binomial) — 16.2, 16.5
- syndrome — 38.4, 38.5
- syndrome (error position) — Project Checkpoint
- syndrome decoding — 38.4
- syntactic consequence — 3.5
- s–t cut — 34.4
T
- table index (slot) — 26.1
- tail / head (of an arc) — 27.3
- tape (unbounded) — 36.1
- tautology — 1.4
- telescoping — 11.4
- telescoping sum — 11.4
- term (of a sequence) — 11.1
- termination (Euclidean algorithm) — 22.4
- termination (loop) — 6.5
- test coverage (counting) — 15.1, 15.6
- testing fallacy (tests-passed) — 3.3
- textbook RSA (insecurity of) — 25.6
- theorem — 4.1
- Theta(V+E) bound — 28.6
- Thompson's construction — 35.4
- tight bound — 14.3
- tiling recurrence — 18.2
- time recurrence (algorithm cost) — 18.6
- topological sort (via DFS) — 28.5 (defined in Ch.13; re-derived here)
- total transition function — 35.2
- total_probability (toolkit function) — Project Checkpoint
- totality (of a function) — 9.1
- totient — 23.6
- totient $\phi(n) = (p-1)(q-1)$ (RSA use) — 25.4
- tour count $(n-1)!/2$ — 30.5, key-takeaways
- Tower of Hanoi — 18.2, 18.5
- trace (of a computation) — 35.2
- tractable / intractable — 30.4, Summary
- tractable vs. intractable — 14.5
- trail (walk with no repeated edge) — 30.2
- transition function ($\delta$) — 36.1
- transition function (δ) — 35.2
- transitive — 12.3
- transitive closure — 12.5
- transitivity of divisibility — 4.2, 22.1
- transitivity of reductions — 37.4
- transposition error — 26.4
- trapdoor function — 23.6, 25.3
- Traveling Salesman Problem (TSP) — 30.6, 40.1 [Ch. 30], 30.5, Summary
- traversal — 31.3
- tree — 31.1
- tree edge — 28.4
- tree edge count (n-1 edges) — 31.1
- tree reconstruction (preorder + inorder) — 31.3
- tree_height (toolkit) — Project Checkpoint
- trial division (factoring) — 22.6
- triangle inequality (Hamming) — 38.2
- triangle inequality (metric TSP) — 30.6
- triangle inequality (special case) — 5.3
- trie — 31.5
- trivial proof — 4.5
- trivial subgroup — 24.2
- truncation vs. floor — 9.5
- truth table — 1.3
- truth value — 1.2
- truth_table (Toolkit) — Project Checkpoint
- TSP (decision form, NP-completeness) — 37.1, 37.5, 37.6
- TSP 2-approximation (via MST) — 32.6
- Turing complete — 36.6, 36.2
- Turing machine — 36.2, 36.3, 36.4, 36.6, 36.1
- Turing's theorem (halting undecidable) — 36.4
- turnstile ($\vdash$) — 3.5
- two-coloring (monochromatic block) — 20.6
- type inference — 3.6
- type signature (as domain/codomain) — 9.6
U
- uncomputable problem — 10.4
- uncountable — 10.3
- undecidable — 36.4, 36.5, 36.3
- union — 8.3
- union / alternation (regex) — 35.4
- union bound — 20.2, 20.6
- union bound (in the probabilistic method) — 20.6
- union by rank — 32.3
- union operation (union-find) — 32.3
- union-find (disjoint-set) — 32.3
- unique factorization — 22.6
- unique path property — 31.1
- uniqueness of identity and inverses (Theorem 24.1) — 24.2
- uniqueness proof — 5.4
- uniqueness quantifier ($\exists!$) — 2.2
- unit (modulo n) — 23.3, 23.6
- units modulo n (count by totient) — 23.6
- universal family of hash functions — 26.3
- universal generalization (UG) — 3.4
- universal hashing — 26.3
- universal instantiation (UI) — 3.4
- universal quantifier — 2.2
- universe (universal set) — 8.3
- unordered pair (used; defined Ch. 8) — 27.1
- unpack/repackage habit — 4.2, 4.3
- unsatisfiable — 1.6
- unsolvability (preview) — 5.2
- upper bound (asymptotic) — 14.3
V
- vacuous proof — 4.5
- vacuous truth (empty domain) — 2.5
- vacuous truth (empty set is a subset) — 8.2
- vacuously true — 1.2
- valid argument — 3.1
- validity — 3.1
- value of a flow — 34.1
- variable-length code — 31.6
- variance — 20.5
- Venn diagram — 8.3
- verification vs. solution (the verify/find gap) — 37.6, 37.3
- verifier — 37.3, 37.2, Project Checkpoint
- verify vs. find (asymmetry) — 30.4, 30.5
- verify_hamilton_circuit (Toolkit) — Project Checkpoint
- vertex (node) — 27.1
- VERTEX COVER — 37.5
W
- walk — 27.2
- Warshall's algorithm (mentioned) — 12.5
- watchdog timer / resource bound — 36.6
- weak duality — 40.1
- weak duality (flow/cut) — 34.4
- Weak Duality (worked LP) — 40.1
- web graph — 27.6
- weight (of a string) — 38.2
- weight function w — 27.3
- weight of a spanning tree — 32.2
- weighted checksum — 26.4
- weighted graph — 27.3
- well-defined / single-valued — 9.1
- well-ordering principle — 7.2, 7.6
- well-ordering principle (preview) — 6.2
- without loss of generality (WLOG) — 5.3, 40.3 [Ch. 5]
- witnesses (c and n_0) — 14.3
- worst case — 14.6
Z
- Z_n (integers mod n) — 23.1
- zero divisor — 24.4
- zero divisor (why RS needs a field) — 38.6
- zero-frequency problem — 21.5
- zero-knowledge proofs / PCP (mention) — 40.5
- zig-zag enumeration — 10.2
Ε
- ε-closure — 35.3
- ε-transition — 35.3