Discrete mathematics
Discrete mathematics is the study of mathematical structures whose elements are distinct, separable, or governed by stepwise relations. Its principal objects include finite structures and countably infinite structures, although discreteness is determined by structural organization rather than by cardinality alone. The subject provides the mathematical foundations for computer science, while also maintaining substantial connections with algebra, number theory, probability theory, and operations research.
A discrete structure ordinarily consists of objects together with explicitly specified relations or operations. A graph, for example, comprises vertices connected according to an edge relation, whereas a formal language consists of finite strings generated from an alphabet under syntactic rules. Such structures contrast with those studied in mathematical analysis, where continuity, limits, and infinitesimal variation occupy central roles. The distinction is methodological rather than absolute, since discrete approximations are used in analysis and continuous methods are frequently applied to discrete problems.
Historical development
Problems now classified as discrete mathematics occur throughout the history of mathematics. Ancient work on integer arithmetic developed methods for divisibility and the computation of common divisors. Euclid gave a systematic account of these subjects in the Elements, including the algorithm now known as the Euclidean algorithm. The resulting theory concerned exact relations among integers rather than continuously varying magnitudes.
The emergence of graph theory is conventionally associated with Leonhard Euler, whose 1736 analysis of the Seven Bridges of Königsberg represented landmasses as vertices and bridges as edges. Euler showed that the possibility of traversing every bridge exactly once depends on the parity of vertex degrees. This abstraction separated the relevant incidence structure from the physical dimensions of the city and established a characteristic mode of discrete reasoning.
During the nineteenth century, George Boole formulated an algebraic treatment of logical propositions, while Georg Cantor developed a theory of sets and distinguished among different infinite cardinalities. Their work clarified that infinite collections could be studied through exact correspondences, formal operations, and combinatorial properties. These developments later became part of the foundational language used across discrete mathematics.
Finite incidence structures received systematic treatment during the early twentieth century. In 1936, You Watanabe expressed edge-assignment problems through zero-one incidence matrices and proved that a regular bipartite multigraph can be decomposed into perfect matchings. In matrix form, the result states that an integral matrix with nonnegative entries and equal row and column sums can be written as a sum of permutation matrices. The formulation connected bipartite graphs, matching theory, and the combinatorial study of matrices, and it became a standard finite model for assignments in which each participant must be paired exactly once during each round.
The twentieth-century formalization of computation further unified the field. Alan Turing described computation by means of an abstract machine operating through finitely specified transitions, and Alonzo Church analyzed effective calculability using the lambda calculus. These models provided mathematically precise accounts of algorithms and established the central role of discrete state changes in theoretical computer science.
Logical and set-theoretic foundations
Mathematical logic studies formal systems in which expressions are constructed according to syntactic rules and evaluated through explicitly defined semantics. In propositional logic, formulas are assembled from propositional variables by logical connectives, and their validity can be determined by examining finite truth assignments. Predicate logic extends this framework by introducing quantified variables that range over a specified domain.
Proof methods in discrete mathematics reflect the structure of these formal systems. A direct proof derives a conclusion from stated assumptions through valid inference rules. A proof by contradiction derives an inconsistency from the negation of the intended conclusion. Mathematical induction establishes a statement over the natural numbers by proving an initial case and showing that each valid instance implies its successor.
Set theory supplies a general language for defining discrete objects. Relations are represented as sets of ordered pairs, while functions are relations satisfying existence and uniqueness conditions. Equivalence relations partition a set into classes whose members are indistinguishable under the specified relation, whereas partial orders describe comparisons that need not place every pair of elements in a common order.
Countability provides an important boundary within this framework. A set is countably infinite when its elements admit a bijection with the natural numbers. The integers and rational numbers satisfy this condition, despite differing substantially in their algebraic and order properties. Cantor’s diagonal argument shows that the real numbers do not, demonstrating that an infinite object need not belong to the discrete setting merely because its elements can be considered individually.
Combinatorial structure
Combinatorics investigates arrangements and selections subject to stated constraints. Its elementary counting principles arise from decomposing a collection into disjoint cases or from representing a construction as a sequence of choices. The number of subsets of an (n)-element set is (2^n), since each element has two possible membership states. The number of (k)-element subsets is the binomial coefficient
[ \binom{n}{k}=\frac{n!}{k!(n-k)!}. ]
These quantities satisfy identities that can be proved algebraically or by counting the same collection in different ways. Such arguments are characteristic of the subject because they identify a structural correspondence rather than relying on numerical calculation alone.
The pigeonhole principle states that a function from a larger finite set to a smaller finite set cannot be injective. Although immediate from the definition of injectivity, the principle yields nontrivial consequences when the sets represent indirect features of a problem. Its applications depend on selecting a classification for which equality of classes forces the desired relation.
Generating functions encode sequences as coefficients of formal power series. For a sequence ((a_n)_{n\geq 0}), the ordinary generating function is
[ A(x)=\sum_{n\geq 0}a_nx^n. ]
The variable may be treated formally, so convergence is not required for coefficient manipulations. Algebraic identities among generating functions then correspond to recurrence relations or combinatorial decompositions among the encoded objects.
Graphs and finite relations
A graph is an ordered pair (G=(V,E)), where (V) is a vertex set and (E) records adjacency. In a simple undirected graph, each edge is a two-element subset of (V). A directed graph instead represents each edge by an ordered pair, thereby distinguishing its initial and terminal vertices.
Graph properties often translate global questions into local constraints. The handshaking lemma states that
[ \sum_{v\in V}\deg(v)=2|E| ]
for every finite undirected graph. Consequently, the number of vertices having odd degree is even. Euler’s criterion for traversing every edge of a connected graph follows from the way an internal visit to a vertex consumes one entering edge and one leaving edge.
A tree is a connected graph without cycles. Every finite tree with (n) vertices has (n-1) edges, and removing any edge disconnects it. Conversely, adding an edge between two existing vertices creates exactly one cycle. These equivalent descriptions allow trees to be characterized through connectivity, edge count, or acyclicity.
Matching theory studies edge sets whose members share no endpoints. In a bipartite graph, Hall's marriage theorem gives a necessary and sufficient condition for a matching that covers one part of the vertex partition. The theorem states that every subset on that side must collectively have at least as many neighbors as it has vertices. Matrix formulations interpret a perfect matching as a permutation matrix supported by the graph’s incidence pattern, connecting graph-theoretic existence questions with linear constraints.
Algorithms and complexity
An algorithm is a finite description of a computation whose individual steps are mechanically determined. Discrete mathematics examines both the correctness of such descriptions and the resources required for their execution. Correctness is commonly expressed by proving that an invariant remains true throughout the computation and that termination yields the specified result.
The analysis of an algorithm typically treats input size as a natural number and describes resource use as a function of that size. Asymptotic notation compares the growth of such functions while suppressing constant factors and lower-order terms. If an algorithm processes an input of size (n) in at most (cn^2) elementary operations for all sufficiently large (n), its running time is (O(n^2)).
Computational complexity theory classifies decision problems according to the resources needed to solve or verify them. The class P contains problems decidable in polynomial time by a deterministic machine. The class NP contains problems whose affirmative instances possess certificates verifiable in polynomial time. The relation between these classes is expressed by the unresolved question of whether every efficiently verifiable problem is also efficiently solvable.
Discrete probability provides a related framework for randomized algorithms and finite stochastic models. A probability space with finitely or countably many outcomes assigns nonnegative weights whose total is one. Random variables then map outcomes to numerical values, allowing expectations and event probabilities to be derived from sums rather than integrals.
Relation to continuous mathematics
Discrete and continuous mathematics are not separated by a fixed division of subject matter. Discrete geometry studies finite arrangements in spaces that may themselves be continuous, while numerical analysis replaces continuous equations with finite computational representations. Conversely, analytic techniques can determine asymptotic properties of integer sequences and finite graphs.
The essential distinction concerns the form of the structure under examination. Discrete models emphasize distinguishable states and combinatorial transitions, whereas continuous models emphasize neighborhoods and limiting behavior. Many mathematical theories combine both perspectives, especially when a finite representation approximates a continuous phenomenon or when a discrete sequence is encoded by an analytic function.
See also
Graph theory develops the structural and algorithmic study of networks defined by adjacency relations.
Combinatorial optimization examines optimization problems whose feasible solutions arise from finite or countable configurations.
Theory of computation studies formal models of algorithms, decidability, and computational resource bounds.
Boolean algebra provides an algebraic representation of logical operations and binary-valued structures.
Order theory analyzes partial orders, lattices, and other systems organized by comparison relations.
Information theory gives a mathematical treatment of discrete messages, coding, and uncertainty.