Graphs and Basic Definitions

How many handshakes happen at a party? Can you tell who shook hands with whom just from a diagram of dots and lines? This simple question is the seed of graph theory. It is a branch of discrete mathematics that models pairwise relationships between objects. A graph strips away all irrelevant detail — geography, color, size. It keeps only the abstract pattern of connection. This radical simplification is exactly why graphs are so useful. The same formal structure describes road networks, molecules, social ties, computer circuits, and scheduling conflicts. The power of graph theory comes from separating two things that are easy to conflate. One is the combinatorial data of a graph (which pairs of objects are related). The other is the picture we draw of it (dots and curves in the plane). Two very differently drawn pictures can represent the same graph. One picture can also obscure structure that a careful definition reveals instantly. Building a rigorous foundation lets us state and prove theorems clearly. This means precise definitions of vertices, edges, adjacency, and incidence. These theorems hold no matter how the graph is drawn. This article develops that foundation from scratch, assuming only basic set theory. We define simple graphs first, since they are the cleanest setting. Then we generalize to multigraphs and graphs with loops. These are needed to model repeated connections, like multiple flights between two cities. They also model self-relations, like a webpage linking to itself. We are careful throughout to distinguish a graph as a mathematical object. It is an ordered pair of sets with a structure connecting them. This is different from any particular drawing of it. By the end, you will have precise vocabulary for several key concepts. These include vertices, edges, endpoints, adjacency, incidence, and degree. You will also know the various flavors of graph. These are simple, multigraph, with or without loops. Together with these, you will meet a first non-trivial theorem. It is a lemma bounding the number of edges in a simple graph. This groundwork is the launching point for everything that follows in graph theory. That includes the Handshake Lemma, the notion of Graph Isomorphism, and the study of Subgraphs and Special Graph Families.

Key takeaways
  • A graph is a pair (V,E)(V, E): a set of vertices and a set (or multiset) of edges connecting pairs of vertices.
  • In a simple graph, edges are unordered pairs of distinct vertices, with no repeats and no self-loops.
  • Adjacency relates two vertices joined by an edge; incidence relates a vertex to an edge that has it as an endpoint.
  • Multigraphs allow repeated edges between the same pair of vertices; graphs with loops allow an edge from a vertex to itself.
  • A graph is combinatorial data, not a picture — the same graph can be drawn in infinitely many ways.
  • Key idea: a graph is nothing more than a set of objects together with a specified collection of pairs among them, and everything else (drawings, degrees, paths) is built rigorously on top of that one idea.

Where this lives today

Graphs, in the precise sense defined here, are the substrate for an enormous range of applications. In computer science, graphs model computer networks (vertices = machines, edges = links), the World Wide Web (vertices = pages, edges = hyperlinks — naturally directed and possibly with loops, since pages can link to themselves), and dependency structures in compilers and build systems. In operations research and engineering, graphs represent transportation and logistics networks, where multigraphs are essential because multiple distinct routes between the same two locations are common, exactly as in the worked bus-route example above. In chemistry, molecular structure diagrams are graphs whose vertices are atoms and whose edges are bonds; double and triple bonds are naturally modeled with parallel edges (a multigraph). In social science and epidemiology, graphs model acquaintance and contact networks, with adjacency encoding a direct relationship (friendship, contact) that then feeds into models of information spread or disease transmission. In cryptography and complexity theory, hardness of certain graph problems (like finding large cliques, related to the complete-graph notion KnK_n introduced above) underlies security assumptions and complexity-class separations. In statistics and machine learning, graphical models encode conditional independence structure among random variables using vertices for variables and edges for direct dependencies. All of these applications depend on the basic distinctions made rigorous here: what counts as a vertex versus an edge, whether loops or parallel edges are permitted, and the sharp separation between a graph's combinatorial identity and any particular drawing of it — distinctions that become indispensable once one studies Degree and the Handshake Lemma and, later, Graph Isomorphism.

Ask the tutor: Can you walk through how the definition of a graph changes once we allow edges to be directed, and how adjacency then splits into "in-neighbor" and "out-neighbor"?

DefinitionGraphs, vertices, edges, adjacency, incidence

A simple graph is an ordered pair G=(V,E)G = (V, E) where:

  • VV is a finite set, called the vertex set, whose elements are called vertices;
  • EE is a set of 2-element subsets of VV, called the edge set, whose elements are called edges.

If e={u,v}∈Ee = \{u, v\} \in E is an edge, we say uu and vv are its endpoints, that uu and vv are adjacent (or neighbors), and that ee is incident to uu and to vv. Two edges that share exactly one endpoint are called adjacent edges. A multigraph is a triple G=(V,E,φ)G = (V, E, \varphi) where VV is a finite vertex set, EE is a finite set of edge labels, and

φ:E→(V2)∪V\varphi : E \to \binom{V}{2} \cup V

assigns to each edge label e∈Ee \in E either a 22-element subset {u,v}⊆V\{u,v\} \subseteq V (an ordinary edge with endpoints u≠vu \ne v) or a single vertex vv (a loop at vv, whose only "endpoint" is vv, counted twice). Here (V2)\binom{V}{2} denotes the set of 22-element subsets of VV.

  • If φ\varphi is injective and never takes a single-vertex value (no loops), the multigraph is exactly a simple graph in the sense above (up to renaming edges by their image).
  • If φ\varphi is not injective, distinct edge labels e1≠e2e_1 \ne e_2 with φ(e1)=φ(e2)\varphi(e_1) = \varphi(e_2) are called parallel edges (or multi-edges).
  • A loop is an edge ee with φ(e)=v∈V\varphi(e) = v \in V for a single vertex vv; by convention a loop contributes 22 to the degree of vv (see below), consistent with it having "two coincident endpoints."

For a vertex v∈Vv \in V, the degree deg⁡(v)\deg(v) is the number of edge-endpoint incidences at vv: in a simple graph, deg⁡(v)=∣{e∈E:v∈e}∣\deg(v) = |\{e \in E : v \in e\}|; in a multigraph, deg⁡(v)=∣{e∈E:v∈φ(e),φ(e)≠{v}}∣+2⋅∣{e∈E:φ(e)=v}∣\deg(v) = |\{e \in E : v \in \varphi(e), \varphi(e) \ne \{v\}\}| + 2\cdot|\{e \in E : \varphi(e) = v\}|, i.e. each ordinary incidence counts once and each loop at vv counts twice. Throughout, unless stated otherwise, "graph" means simple graph: no loops, no parallel edges, edges unordered.

Intuition

Think of a graph as the abstract skeleton of a network. The vertices are the "things" — people, cities, atoms, web pages — and the edges record which pairs of things are directly related. Crucially, a graph carries no information about position, distance, or order beyond the bare adjacency data: if you redraw the dots anywhere in the plane and redraw the connecting curves anywhere between them, as long as the same pairs of dots are joined, it is the same graph. This is why we insist on the set-theoretic definition rather than a picture. A picture is a witness, or a convenient encoding, but the mathematical object is the pair (V,E)(V,E). For instance the vertex set V={1,2,3,4}V = \{1,2,3,4\} with edge set E={{1,2},{2,3},{3,4},{4,1}}E = \{\{1,2\},\{2,3\},\{3,4\},\{4,1\}\} is a 4-cycle no matter whether you draw it as a square, a bowtie-looking self-crossing shape, or a wobbly quadrilateral — the combinatorics is identical. Adjacency is symmetric (uu adjacent to vv iff vv adjacent to uu, since {u,v}={v,u}\{u,v\} = \{v,u\} as sets) and it is a relation between vertices, while incidence is a relation between a vertex and an edge. Keeping these two words distinct avoids a huge amount of confusion later, especially once directed graphs and hypergraphs enter the picture. The step from simple graphs to multigraphs (allowing parallel edges) and graphs with loops is motivated by real modeling needs: two cities might be joined by several distinct flight routes (parallel edges), and a web page might link to itself (a loop). The formal device — an auxiliary function φ\varphi from a set of edge names to the set of vertex pairs (or single vertices) — is what lets us have two different edges "look the same" as a pair {u,v}\{u,v\} while remaining genuinely distinct objects of the edge set EE.

Figure
A simple graph on 5 vertices, drawn two different ways, is still one combinatorial object
Drawing 1 Drawing 2 (same graph) v1 v2 v3 v4 v5 v1 v2 v3 v4 v5 E = {v1v2, v2v3, v3v4, v4v5, v5v1, v1v3} in both drawings
TheoremEdge bound for simple graphs

Let G=(V,E)G = (V,E) be a simple graph with ∣V∣=n≥1|V| = n \ge 1 vertices. Then

0≤∣E∣≤(n2)=n(n−1)2,0 \le |E| \le \binom{n}{2} = \frac{n(n-1)}{2},

and the upper bound ∣E∣=(n2)|E| = \binom{n}{2} is attained if and only if GG is the complete graph KnK_n, i.e. every pair of distinct vertices is adjacent.

Proof

Setup. By definition, EE is a set of 22-element subsets of VV, i.e. E⊆(V2)E \subseteq \binom{V}{2}, where (V2)\binom{V}{2} denotes the collection of all 22-element subsets of VV.

Lower bound. Since EE is a set, ∣E∣≥0|E| \ge 0 trivially (cardinality of any set is nonnegative), with equality exactly when E=∅E = \varnothing, i.e. GG has no edges at all. This case is realizable (take any VV and E=∅E = \varnothing), so the lower bound is tight.

Upper bound, via counting. We compute ∣(V2)∣\left|\binom{V}{2}\right| directly. A 22-element subset of VV is determined by an unordered choice of 22 distinct elements from the nn-element set VV. We count ordered pairs of distinct elements first: there are nn choices for the first coordinate and n−1n-1 remaining choices for the second, giving n(n−1)n(n-1) ordered pairs (u,v)(u,v) with u≠vu \ne v. Each unordered pair {u,v}\{u,v\} with u≠vu \ne v corresponds to exactly 22 ordered pairs, namely (u,v)(u,v) and (v,u)(v,u), and this correspondence is a bijection between ordered pairs and (unordered pair, ordering) data. Hence the number of unordered pairs is

∣(V2)∣=n(n−1)2=(n2).\left|\binom{V}{2}\right| = \frac{n(n-1)}{2} = \binom{n}{2}.

This is a special case of the standard combinatorial identity for counting kk-subsets, applied here with k=2k=2; we have re-derived it directly rather than citing it as a black box, to keep the proof self-contained.

Monotonicity of cardinality under subset inclusion. Since E⊆(V2)E \subseteq \binom{V}{2} and both are finite sets, the basic set-theoretic fact "A⊆B  ⟹  ∣A∣≤∣B∣A \subseteq B \implies |A| \le |B| for finite sets" (immediate from the definition of cardinality: an injection A↪BA \hookrightarrow B is given by the inclusion map, and for finite sets injections cannot increase cardinality) yields

∣E∣≤∣(V2)∣=(n2).|E| \le \left|\binom{V}{2}\right| = \binom{n}{2}.

This proves the upper bound.

Characterization of equality. Suppose ∣E∣=(n2)|E| = \binom{n}{2}. Since E⊆(V2)E \subseteq \binom{V}{2} and both sets are finite with equal cardinality, E=(V2)E = \binom{V}{2} (a subset of a finite set with the same cardinality as the whole set must equal the whole set — otherwise there would exist an element of (V2)∖E\binom{V}{2} \setminus E, and then ∣E∣≤∣(V2)∣−1<(n2)|E| \le |\binom{V}{2}| - 1 < \binom{n}{2}, a contradiction). So E=(V2)E = \binom{V}{2} means every 22-element subset of VV is an edge, i.e. every pair of distinct vertices is adjacent — precisely the definition of GG being the complete graph KnK_n on vertex set VV. Conversely, if G=KnG = K_n, then by definition E=(V2)E = \binom{V}{2}, so ∣E∣=(n2)|E| = \binom{n}{2} by the computation above. This establishes both bounds and the equality characterization, completing the proof. ■\blacksquare

∎
CorollaryFinite range of edge counts

For a fixed finite vertex set VV with ∣V∣=n|V| = n, there are exactly (n2)\binom{n}{2} possible edges, hence exactly 2(n2)2^{\binom{n}{2}} distinct simple graphs on vertex set VV (each subset of (V2)\binom{V}{2} is a valid edge set).

Proof of corollary. Immediate from the theorem's counting argument: EE ranges freely over all subsets of the (n2)\binom{n}{2}-element set (V2)\binom{V}{2}, and a finite set with mm elements has exactly 2m2^m subsets (each of the mm elements is independently included or excluded). ■\blacksquare

Worked examples

Example 1 — a graph modeling a genuinely asymmetric situation. Consider a small collaboration network among five researchers, labeled by their initials:

V={A,B,C,D,E}.V = \{A, B, C, D, E\}.

Suppose the co-authorship data is: AA has written with BB and with DD; BB has written with AA, with CC, and with EE; CC has written with BB and with DD; DD has written with AA and with CC; EE has written with BB only. Encoding "has written with" as an edge, we get

E(G)={{A,B},{A,D},{B,C},{B,E},{C,D}}.E(G) = \{\{A,B\},\{A,D\},\{B,C\},\{B,E\},\{C,D\}\}.

Note ∣E(G)∣=5|E(G)| = 5. Let us verify this is consistent and extract basic data. Degrees. Count incidences at each vertex:

  • deg⁡(A)\deg(A): AA appears in {A,B}\{A,B\} and {A,D}\{A,D\}, so deg⁡(A)=2\deg(A) = 2.
  • deg⁡(B)\deg(B): BB appears in {A,B},{B,C},{B,E}\{A,B\}, \{B,C\}, \{B,E\}, so deg⁡(B)=3\deg(B) = 3.
  • deg⁡(C)\deg(C): CC appears in {B,C},{C,D}\{B,C\}, \{C,D\}, so deg⁡(C)=2\deg(C) = 2.
  • deg⁡(D)\deg(D): DD appears in {A,D},{C,D}\{A,D\}, \{C,D\}, so deg⁡(D)=2\deg(D) = 2.
  • deg⁡(E)\deg(E): EE appears only in {B,E}\{B,E\}, so deg⁡(E)=1\deg(E) = 1.

Sum of degrees: 2+3+2+2+1=10=2⋅∣E(G)∣2+3+2+2+1 = 10 = 2 \cdot |E(G)|, consistent with the fact (foreshadowing the Handshake Lemma) that the sum of all degrees always equals twice the number of edges, since each edge contributes exactly 11 to the degree of each of its two distinct endpoints. Checking the bound of the theorem. Here n=5n = 5, so (52)=10\binom{5}{2} = 10. Indeed ∣E(G)∣=5≤10|E(G)| = 5 \le 10, consistent with the theorem, and GG is far from complete: e.g. {A,C}∉E(G)\{A,C\} \notin E(G) (AA and CC never co-authored), {A,E}∉E(G)\{A,E\} \notin E(G), {D,E}∉E(G)\{D,E\} \notin E(G). Precisely 10−5=510 - 5 = 5 pairs are non-edges, matching ∣(V2)∖E(G)∣=5|\binom{V}{2} \setminus E(G)| = 5. Adjacency vs. incidence, made concrete. BB and CC are adjacent (joined by the edge {B,C}\{B,C\}). The edge {B,C}\{B,C\} is incident to BB and incident to CC; it is not incident to AA, DD, or EE. The edges {A,B}\{A,B\} and {B,C}\{B,C\} are adjacent edges, since they share the single endpoint BB; the edges {A,D}\{A,D\} and {B,C}\{B,C\} are not adjacent, since they share no endpoint.

Example 2 — a multigraph with a loop, showing where the extra structure is needed. A small city has bus routes connecting four terminals V={P,Q,R,S}V = \{P, Q, R, S\}. Route data: there are two distinct express routes both running nonstop between PP and QQ (different companies, same two terminals); there is one route between QQ and RR; there is a circular sightseeing tour that departs from RR and returns to RR without stopping elsewhere (a loop at RR); and there is one route between RR and SS. Vertex PP additionally has no route to SS or to RR directly. This cannot be modeled as a simple graph, because a simple graph's edge set is a set of pairs, so it cannot record "two distinct routes between the same pair of terminals," nor can {u,v}\{u,v\} with u=vu=v ever occur (a simple graph's edges are 22-element subsets, which by definition have two distinct elements). We use the multigraph definition instead. Let the edge-label set be

E={e1,e2,e3,e4,e5},E = \{e_1, e_2, e_3, e_4, e_5\},

with assignment function φ\varphi given by

φ(e1)={P,Q},φ(e2)={P,Q},φ(e3)={Q,R},φ(e4)=R,φ(e5)={R,S}.\varphi(e_1) = \{P,Q\}, \quad \varphi(e_2) = \{P,Q\}, \quad \varphi(e_3) = \{Q,R\}, \quad \varphi(e_4) = R, \quad \varphi(e_5) = \{R,S\}.

Here e1≠e2e_1 \ne e_2 are parallel edges, since φ(e1)=φ(e2)={P,Q}\varphi(e_1) = \varphi(e_2) = \{P,Q\} but they are different elements of EE (different bus companies). e4e_4 is a loop at RR, since φ(e4)=R\varphi(e_4) = R is a single vertex. Degree computation, carefully. Using the multigraph degree definition (ordinary incidences count once, loops count twice):

  • deg⁡(P)\deg(P): PP is an endpoint of e1e_1 and e2e_2 (each ordinary), so deg⁡(P)=2\deg(P) = 2.
  • deg⁡(Q)\deg(Q): QQ is an endpoint of e1,e2,e3e_1, e_2, e_3, so deg⁡(Q)=3\deg(Q) = 3.
  • deg⁡(R)\deg(R): RR is an endpoint of e3e_3 (ordinary, contributes 11), e4e_4 (loop, contributes 22), and e5e_5 (ordinary, contributes 11); so deg⁡(R)=1+2+1=4\deg(R) = 1 + 2 + 1 = 4.
  • deg⁡(S)\deg(S): SS is an endpoint of e5e_5 only, so deg⁡(S)=1\deg(S) = 1.

Sum of degrees: 2+3+4+1=10=2⋅∣E∣=2⋅52 + 3 + 4 + 1 = 10 = 2 \cdot |E| = 2 \cdot 5. This again matches the handshake-style identity, provided loops are counted with weight 22 — which is exactly why the convention is set up that way: it preserves "sum of degrees == twice the number of edges" even in the presence of loops and parallel edges. If we had (incorrectly) counted the loop e4e_4 with weight 11, we would get degree sum 9≠109 \ne 10, breaking the identity — a good sanity check for why the weight-22 convention for loops is the "correct" one, not an arbitrary choice.

CounterexampleDropping "distinct endpoints" breaks the simple-graph edge-count theorem

The theorem above relies on the hypothesis that GG is a simple graph, in particular that every edge is a 22-element subset of VV with two distinct vertices — no loops, no repeats. Drop only the "no loops, no repeats" hypothesis (i.e. work with a general multigraph-with-loops instead) and the clean bound ∣E∣≤(n2)|E| \le \binom{n}{2} fails outright. Take V={x,y}V = \{x, y\} (so n=2n = 2, and (n2)=1\binom{n}{2} = 1). Build a multigraph with edge-label set E={e1,e2,e3,e4}E = \{e_1, e_2, e_3, e_4\} and

φ(e1)={x,y}, φ(e2)={x,y}, φ(e3)=x, φ(e4)=y,\varphi(e_1) = \{x,y\}, \ \varphi(e_2) = \{x,y\}, \ \varphi(e_3) = x, \ \varphi(e_4) = y,

i.e. two parallel edges between xx and yy, plus a loop at each vertex. Here ∣E∣=4|E| = 4, while (n2)=(22)=1\binom{n}{2} = \binom{2}{2}=1. So

∣E∣=4>1=(n2),|E| = 4 > 1 = \binom{n}{2},

directly violating the upper bound from the theorem. The proof's key step — "E⊆(V2)E \subseteq \binom{V}{2}, hence ∣E∣≤∣(V2)∣|E| \le |\binom{V}{2}|" — used the fact that in a simple graph, distinct edges correspond to distinct elements of (V2)\binom{V}{2} and every edge is an element of (V2)\binom{V}{2}. Once parallel edges and loops are allowed, EE is no longer a subset of (V2)\binom{V}{2} at all (it is only mapped into (V2)∪V\binom{V}2\cup V by φ\varphi, and that map need not be injective), so the subset-cardinality argument simply does not apply. This shows the "simple graph" hypothesis is not a technicality: it is exactly what the counting proof needs.

Scope, edge cases & common traps

SituationWhat happensWhy
V=∅V = \varnothingThe unique graph is (∅,∅)(\varnothing, \varnothing) (the null graph)With no vertices there are no possible pairs, so EE must be ∅\varnothing
E=∅E = \varnothing, V≠∅V \ne \varnothingValid simple graph, sometimes called edgeless or empty graph on nn verticesDefinition only requires E⊆(V2)E \subseteq \binom{V}{2}; the empty subset is allowed
u=vu = v requested as an edge in a simple graphNot allowed; {u,v}\{u,v\} is required to be a 22-element setBy definition a 22-element subset has two distinct elements
Two vertices connected "twice"Not expressible in a simple graph; requires a multigraphEE in a simple graph is a set, so it cannot contain the same pair twice
Self-loop neededNot expressible without the extended (loop-permitting) definitionA loop's endpoints coincide, violating "22-element subset"
Counting non-edges(n2)−∣E∣\binom{n}{2} - |E| gives the number of non-adjacent pairsDirect consequence of E⊆(V2)E \subseteq \binom{V}{2} and the edge-bound theorem
Confusing adjacency and incidenceA frequent notational slip in early graph theory workAdjacency relates vertex–vertex; incidence relates vertex–edge; they are different arities

The mathematician behind it

Origins · 1 minLeonhard Euler and how this was discovered
LE
Leonhard Euler
1707–1783 · Founder of graph theory, 18th-century mathematics

Leonhard Euler was a Swiss mathematician whose staggering output touched nearly every branch of mathematics and physics known in his era, from number theory and analysis to mechanics and optics. He spent his working life largely at the Imperial Academy of Sciences in St. Petersburg and the Prussian Academy in Berlin, continuing to produce major results even after losing most of his eyesight later in life. His 1736 resolution of the Seven Bridges of Königsberg problem is now recognized as the founding act of graph theory: he modeled the four landmasses of Königsberg as abstract points and the seven bridges as abstract connections, discarding all geometric detail about actual bridge lengths or landmass shapes. This act of abstraction — replacing a physical map with a set of points and a set of connections between them — is precisely the conceptual move that the modern definition of a graph formalizes.

History
- 1736: Euler's paper on the Königsberg bridges introduces the reasoning that becomes graph theory, though not yet the modern set-theoretic vertex/edge language.
- 1847: Gustav Kirchhoff applies graph-theoretic ideas (Kirchhoff's laws) to electrical circuits, treating circuits as abstract networks of nodes and connections.
- 1852: The four color problem is posed, driving interest in planar graphs and eventually formal graph terminology.
- 1936: Dénes Kőnig publishes the first systematic textbook on graph theory, consolidating vertex/edge/adjacency terminology into the modern rigorous form.
- 1950s–present: Graphs become foundational in computer science (data structures, algorithms), operations research (networks, flows), and discrete mathematics generally.
Is a graph the same thing as a picture with dots and lines?

No. A graph is the ordered pair (V,E)(V,E) (or the triple (V,E,φ)(V,E,\varphi) for multigraphs) — purely set-theoretic data specifying which pairs of vertices are joined. A drawing, or diagram, is one way of visualizing that data by placing dots for vertices and curves for edges, but the same graph admits infinitely many different drawings (different vertex positions, different curve shapes, even crossing versus non-crossing layouts). Two drawings represent the same graph exactly when they encode the same vertex set and the same edge set (up to relabeling, this is the notion of Graph Isomorphism). Keeping the distinction sharp prevents errors like thinking a graph "changes" because it was redrawn, or that geometric properties of a specific picture (like edge crossings) are inherent graph properties, when in fact they depend on the chosen drawing.

Why must edges in a simple graph be sets rather than ordered pairs?

Because in an (undirected) simple graph, the relation "is adjacent to" is symmetric: if uu is adjacent to vv, then vv is adjacent to uu, and there is no meaningful "direction" to the connection. Using unordered pairs {u,v}\{u,v\} builds this symmetry into the definition automatically, since {u,v}={v,u}\{u,v\} = \{v,u\} as sets. If you used ordered pairs (u,v)(u,v) instead, you would be defining a directed graph (digraph), where (u,v)∈E(u,v) \in E need not imply (v,u)∈E(v,u) \in E — a genuinely different and useful structure, but not the one this article treats. The unordered-pair convention is precisely what makes "adjacency" a well-defined, direction-free relation on VV.

Can a graph have zero vertices, or zero edges?

Yes to both, and they are different situations. The null graph has V=∅V = \varnothing; since there are no vertices, (V2)=∅\binom{V}{2} = \varnothing too, forcing E=∅E = \varnothing — it is the unique graph on no vertices. An edgeless graph (sometimes called an empty graph) has V≠∅V \ne \varnothing but E=∅E = \varnothing; every vertex has degree 00, and no two vertices are adjacent. Both are legitimate simple graphs under the definition, since the only requirement is E⊆(V2)E \subseteq \binom{V}{2}, and the empty set is always a valid subset. These edge cases are useful base cases in inductive proofs about graphs.

What exactly is the difference between a multigraph and a simple graph, formally?

A simple graph's edge set EE is literally a subset of (V2)\binom{V}{2}: each edge is a 22-element set of vertices, and since EE is a set, no two "edges" can be the same pair (sets don't have repeated elements). A multigraph instead has an abstract set of edge labels EE together with a function φ\varphi sending each label to a pair of vertices (or a single vertex, for a loop); φ\varphi need not be injective, so multiple distinct labels can map to the same pair, modeling parallel edges. Every simple graph is a multigraph in which φ\varphi happens to be injective and avoids loops, so multigraphs strictly generalize simple graphs, not the other way around.

Does the order of vertices in an edge {u, v} matter?

No. Because an edge in a simple graph is defined as a 22-element set {u,v}\{u,v\}, and sets have no internal order, {u,v}\{u,v\} and {v,u}\{v,u\} denote exactly the same edge. This is what makes the resulting adjacency relation symmetric without any extra assumption: "uu adjacent to vv" and "vv adjacent to uu" are literally the same statement, both meaning {u,v}∈E\{u,v\} \in E. If order mattered, we would be in the setting of directed graphs, where the ordered pair (u,v)(u,v) and (v,u)(v,u) are generally different edges representing different directions of a relationship.

Why does the theorem's proof bother re-deriving (n2)=n(n−1)/2\binom{n}{2} = n(n-1)/2 instead of just citing it?

Because rigor at the foundational level means not assuming machinery that itself needs justification, especially when that machinery (binomial coefficients) is often introduced via graph-adjacent counting arguments. Re-deriving the count of 22-element subsets directly from first principles — counting ordered pairs and dividing by the size of each equivalence class of orderings — keeps the proof self-contained and shows explicitly why dividing by 22 is valid (each unordered pair corresponds to exactly 22 orderings). This habit of justifying every step, rather than citing formulas as black boxes, is exactly the discipline the rest of graph theory depends on, starting with the very next result, the Handshake Lemma.

If loops and parallel edges are so useful, why do most introductory theorems assume simple graphs?

Because simple graphs are the cleanest setting in which to build up the basic theory, and results proved there generalize to multigraphs later with clearly-tracked extra bookkeeping (as the loop-degree convention in this article illustrates). Restricting to simple graphs first lets definitions like adjacency, degree, and edge-counting bounds be stated and proved with minimal notational overhead — there's no need to worry about an injective labeling function φ\varphi or about weighting loops specially. Once these ideas are solid, generalizing to multigraphs (as in the bus-route example) is mostly a matter of re-deriving analogous statements with the extra structure made explicit, rather than rethinking the theory from scratch.

Where this leads