Explore/Discrete Mathematics
Domain
Discrete Mathematics
Combinatorics, recurrence relations, and discrete structures.
20 concepts · estimated 8 h total
recurrence relations
- 25 minFunctional EquationsIntermediate
A functional equation is an equation whose unknown is a function rather than a number, requiring the function to satisfy a stated relationship for all inputs in its domain — such as Cauchy's equation f(x+y) = f(x) + f(y). Unlike an algebraic equation with finitely many solutions, a functional equation can have infinitely many pathological solutions unless extra regularity (continuity, monotonicity, boundedness) is imposed; Cauchy's equation, for instance, forces f(x) = cx under continuity but admits wild, non-measurable solutions without it. Functional equations are a staple of olympiad mathematics and also model real recurrence-like relationships, such as the master theorem's f(n) = aT(n/b) + f(n) recursive structure, and functional identities like f(xy) = f(x) + f(y) that characterize the logarithm. Standard solution techniques include substituting special values (like x=0 or x=y), proving injectivity/surjectivity, and using induction to extend a formula from integers to rationals.
- 25 minThe Master TheoremIntermediate
The master theorem gives a direct asymptotic solution for divide-and-conquer recurrences of the form T(n) = aT(n/b) + f(n), where a ≥ 1 and b > 1 are constants and f(n) is the cost of combining subproblem results. It compares f(n) against n^(log_b a), the cost implied by the recursive branching alone, and depending on which term dominates (or whether they balance), reads off Θ(n^(log_b a)), Θ(f(n)), or a Θ(f(n) log n) hybrid. It is the standard tool for analyzing algorithms like merge sort, binary search, and Strassen's matrix multiplication without solving the recurrence by hand each time. The theorem has three standard cases, plus gaps where none apply and the Akra–Bazzi method or direct recursion-tree analysis is needed instead.
- 25 minDivide-and-Conquer RecurrencesIntermediate
A divide-and-conquer algorithm solves a problem of size n by splitting it into a smaller subproblems, each of size n/b, solving each recursively, and then combining the subproblem solutions with f(n) extra work. This translates directly into a recurrence relation T(n) = aT(n/b) + f(n), and reading off the correct (a, b, f(n)) triple from an algorithm's description is the essential first step before the Master Theorem (or any other recurrence-solving method) can be applied. Classic algorithms map onto this template directly: merge sort splits into 2 halves and does Θ(n) work merging (a=2, b=2, f(n)=n); binary search splits into 1 half of size n/2 with O(1) overhead (a=1, b=2, f(n)=1); Karatsuba multiplication splits an n-digit multiplication into 3 subproblems of half the size (a=3, b=2); and Strassen's matrix multiplication splits an n×n matrix multiply into 7 subproblems of size n/2 (a=7, b=2). Getting a, b, and f(n) right — and recognizing when a recurrence does NOT fit this template (e.g., unequal-size subproblems) — is the practical skill this concept builds toward using the Master Theorem.
order theory
- 25 minLatticesIntermediate
A lattice is a partially ordered set (poset) in which every pair of elements has both a least upper bound (join, ∨) and a greatest lower bound (meet, ∧). Equivalently, a lattice can be defined algebraically as a set with two commutative, associative, idempotent binary operations satisfying the absorption laws. Familiar examples include the power set of a set ordered by inclusion (join = union, meet = intersection), the positive integers ordered by divisibility (join = lcm, meet = gcd), and any totally ordered set (join = max, meet = min). Lattices generalize Boolean algebras — a Boolean algebra is precisely a complemented, distributive lattice — and appear throughout logic, computer science, and abstract algebra.
- 20 minPartially Ordered SetsBeginner
A partially ordered set, or poset, is a set P equipped with a relation ≤ that is reflexive, antisymmetric, and transitive. Unlike a total order, a poset need not compare every pair of elements — divisibility on the integers is a classic example, since neither 4 ≤ 6 nor 6 ≤ 4 holds under 'divides'. Posets are typically visualized with Hasse diagrams, which draw only the covering relations (direct successor edges) and omit both loops and redundant edges implied by transitivity. Central poset concepts include maximal/minimal elements, upper/lower bounds, chains (totally ordered subsets), and antichains (subsets of pairwise incomparable elements).
- 18 minThe Well-Ordering PrincipleBeginner
The well-ordering principle states that every nonempty subset of the natural numbers has a least element. It is one of the defining properties of ℕ, is logically equivalent to the principle of mathematical induction (given the other Peano axioms), and is the engine behind proof by minimal counterexample: to show a property holds for all natural numbers, assume some counterexample exists, extract the smallest one, and derive a contradiction. The principle fails for other ordered sets such as ℤ or ℚ, which contain nonempty subsets (like ℤ itself, or the negative integers) with no least element.
sequences and recursion
- 30 minRecurrence RelationsIntermediate
A recurrence relation is an equation that defines each term of a sequence as a combination of previous terms. If only k previous terms appear in the equation, k is called the order of the relation. Given the first k values of the sequence (the initial conditions), every later term is determined by repeatedly applying the equation. The Fibonacci recurrence Fₙ = Fₙ₋₁ + Fₙ₋₂ and the factorial recurrence n! = n·(n-1)! are the two most famous examples: one is order 2, the other order 1.
- 20 minSummation NotationBeginner
Summation notation (sigma notation) is a compact way to write the sum of a sequence of terms without writing out every addend. The capital Greek letter Σ (sigma) stands for 'sum,' and an expression like Σᵢ₌₁ⁿ aᵢ means 'add up the terms aᵢ as the index i runs from 1 to n.' The index variable is a placeholder — it takes each integer value in the given range exactly once, and the notation says nothing about how the sum is computed, only what is being added. Sigma notation is indispensable for writing series, statistical formulas (means, variances), polynomial expansions, and algorithm running-time analyses concisely, and it comes with a small set of algebraic rules (linearity, splitting, reindexing) that let sums be manipulated symbolically before any arithmetic is done.
- 25 minRecursive DefinitionsIntermediate
A recursive definition defines an object — a function, a sequence, or a set — in terms of smaller or simpler instances of itself, together with one or more base cases that stop the self-reference from going on forever. Every recursive definition has exactly two parts: base case(s) that state the value(s) directly for the smallest inputs, and a recursive (inductive) step that builds the value for a larger input out of values for smaller ones. This structure is the definitional twin of mathematical induction: a base case anchors the definition, and a recursive step lets every larger case be reduced, step by step, back down to that anchor. Recursive definitions describe factorials, Fibonacci numbers, the natural numbers themselves (via the Peano axioms), and recursively defined sets like the set of well-formed arithmetic expressions.
logic and set algebra
- 20 minBoolean AlgebraIntermediate
Boolean algebra is a branch of algebra in which the values of the variables are the truth values true and false, usually written 1 and 0, rather than numbers. It differs from elementary algebra in its operators: instead of addition, multiplication, subtraction, and division, Boolean algebra uses the logical operators conjunction (∧, 'and'), disjunction (∨, 'or'), and negation (¬, 'not'). Boolean algebra is therefore a formal way of describing logical operations, the same way elementary algebra describes numerical operations — and it is the mathematical backbone of digital logic circuits.
- 22 minBoolean Functions and Logic GatesIntermediate
A Boolean function is a function that takes n Boolean inputs (each either 0/false or 1/true) and produces a single Boolean output. Because each input is one of 2 values and there are n inputs, there are 2ⁿ possible input combinations, and because the output for each combination can independently be 0 or 1, there are 2^(2ⁿ) distinct Boolean functions of n variables — 4 functions of one variable, 16 of two variables, 256 of three, and so on. A logic gate is the physical (or circuit-diagram) realization of a Boolean function: an AND gate realizes the function x∧y, an OR gate realizes x∨y, a NOT gate (inverter) realizes ¬x. Every Boolean function, no matter how complicated, can be built by wiring together a small number of these primitive gates, which is exactly how digital computers implement arithmetic and logic in hardware.
Mathematics