Why These Checks Matter
Subgraph and isomorphism questions can look straightforward: choose some vertices, copy some edges, or match the labels of one graph to another. Errors often enter when an edge is silently omitted, when a relabeling is checked only on a few edges, or when matching numerical data is treated as a complete description of a graph. The reliable approach is to state exactly what the chosen vertex set forces, and to test a proposed isomorphism against all pairs of vertices.
All graphs in this tutorial are finite and simple. Thus an edge joins two distinct vertices, and there is at most one edge between any pair. If \(G=(V,E)\), a subgraph \(H\) of \(G\) has \(V(H)\subseteq V\) and \(E(H)\subseteq E\), with every edge in \(E(H)\) having both endpoints in \(V(H)\). An induced subgraph has a stricter edge rule.
So the vertex set determines the edge set of an induced subgraph. For an ordinary subgraph, the vertex set alone does not determine which eligible edges are retained. This difference is the source of one frequent mistake.
Omitted Edges in Induced Subgraphs
Worked Example: The Edges Forced by a Vertex Set
Let \(G\) have vertex set \(\{1,2,3,4,5\}\) and edge set \(\{12,13,23,24,34,45\}\). Take \(S=\{1,2,3,4\}\). To form \(G[S]\), retain exactly the edges of \(G\) whose two endpoints are in \(S\).
Test the six edges of \(G\): \(12\), \(13\), \(23\), \(24\), and \(34\) have both endpoints in \(S\), so all five belong to \(G[S]\). The edge \(45\) has endpoint \(5\notin S\), so it does not belong. Therefore \(V(G[S])=\{1,2,3,4\}\) and \(E(G[S])=\{12,13,23,24,34\}\).
The graph on \(S\) with edge set \(\{12,23,34\}\) is an ordinary subgraph of \(G\), but it is not \(G[S]\): it leaves out \(13\) and \(24\), both of which are edges of \(G\) with endpoints in \(S\).
Check: among the six possible pairs from \(S\), the pairs \(14\) are not edges of \(G\), while the other five pairs are exactly \(12,13,23,24,34\). Thus the induced edge set has all five and no others, as claimed.
Proof. By definition, any induced subgraph on \(S\) must have vertex set \(S\) and must include every edge of \(G\) with both endpoints in \(S\). It cannot include an edge not in \(G\), and it cannot include an edge incident to a vertex outside \(S\). These requirements determine its entire edge set as \(\{uv\in E(G):u\in S,\ v\in S\}\). Hence there is exactly one such graph. \(\square\)
A useful correction when an edge list seems uncertain is to inspect every edge of the original graph in turn: retain it if and only if both endpoints are in the selected set. Do not decide which edges to keep by looking only at the shape you hope to obtain.
Relabeling Is Not the Same as Changing the Graph
The “if and only if” is essential. An isomorphism preserves edges and nonedges: it does not just send some edges of \(G\) to edges of \(H\). Vertex names may change, but the adjacency pattern must remain exactly the same.
Worked Example: Verifying a Relabeling of a Path
Let \(G\) have \(V(G)=\{1,2,3,4\}\) and \(E(G)=\{12,23,34\}\). Let \(H\) have \(V(H)=\{a,b,c,d\}\) and \(E(H)=\{ac,cd,db\}\). Define \(f(1)=a\), \(f(2)=c\), \(f(3)=d\), and \(f(4)=b\). These four distinct images make \(f\) a bijection.
There are six unordered pairs of distinct vertices in \(G\). Check them all: \(12\mapsto ac\), an edge; \(13\mapsto ad\), a nonedge; \(14\mapsto ab\), a nonedge; \(23\mapsto cd\), an edge; \(24\mapsto cb\), a nonedge; and \(34\mapsto db\), an edge. These checks preserve both adjacency and nonadjacency, so \(f\) is an isomorphism.
Check: the images of the three edges of \(G\) are \(ac,cd,db\), precisely the three edges of \(H\). The other three pairs map to nonedges, as verified above. Thus the edge lists agree under the bijection in both directions.
A partial check can fail. For example, the identity-style assignment \(1\mapsto a,\ 2\mapsto b,\ 3\mapsto c,\ 4\mapsto d\) is a bijection, but it sends the edge \(12\) to \(ab\), which is not an edge of \(H\). A bijection alone is not enough.
Proof. Fix any vertex \(u\in V(G)\). The definition of isomorphism says that each vertex \(v\ne u\) is adjacent to \(u\) exactly when \(f(v)\) is adjacent to \(f(u)\). Because \(f\) is a bijection, it gives a one-to-one correspondence between the neighbors of \(u\) and the neighbors of \(f(u)\). Therefore \(\deg_G(u)=\deg_H(f(u))\). As \(f\) maps every vertex of \(G\) to exactly one vertex of \(H\), the degree lists, including repetitions, agree. \(\square\)
This proposition provides a useful necessary check: different degree multisets rule out isomorphism. Matching degree multisets, however, do not guarantee isomorphism.
Why Matching Invariants Do Not Prove Isomorphism
A matching is a set of edges no two of which share an endpoint. The matching number \(\nu(G)\) is the largest size of a matching in \(G\). It records one feature of a graph, not the entire adjacency pattern.
Proof. Suppose \(f\) is an isomorphism from \(G\) to \(H\). If \(M\) is a matching in \(G\), map each edge \(uv\in M\) to the edge \(f(u)f(v)\) of \(H\). These image edges are pairwise disjoint: if two shared an endpoint, the injectivity of \(f\) would imply that the original edges shared an endpoint. Thus the image is a matching in \(H\) of size \(|M|\). In particular, a maximum matching in \(G\) shows \(\nu(H)\ge\nu(G)\). Applying the same argument to the inverse bijection \(f^{-1}\) gives \(\nu(G)\ge\nu(H)\), so \(\nu(G)=\nu(H)\). \(\square\)
This result says that equal matching numbers are required for isomorphic graphs; it does not say that equal matching numbers are enough. The distinction between a necessary condition and a sufficient condition is central to using invariants correctly.
Worked Example: Same Matching Number, Different Graphs
Let \(G\) have \(V(G)=\{1,2,3,4,5\}\) and \(E(G)=\{12,23,34,45\}\). Let \(H\) have \(V(H)=\{a,b,c,d,e\}\) and \(E(H)=\{ab,bc,ca,cd,de\}\). Each graph has five vertices and four edges.
In \(G\), the edges \(12\) and \(34\) are disjoint, so \(\nu(G)\ge2\). No matching can have more than two edges, since three pairwise disjoint edges would require six distinct endpoints, but \(G\) has only five vertices. Hence \(\nu(G)=2\). In \(H\), the edges \(ab\) and \(cd\) are disjoint, so \(\nu(H)\ge2\); the same five-vertex bound gives \(\nu(H)\le2\), and therefore \(\nu(H)=2\).
Nevertheless, their degree multisets differ. In \(G\), the degrees of \(1,2,3,4,5\) are \(1,2,2,2,1\), giving multiset \(\{1,1,2,2,2\}\). In \(H\), the degrees of \(a,b,c,d,e\) are \(2,2,3,2,1\), giving multiset \(\{1,2,2,2,3\}\). Since isomorphic graphs must have the same degree multiset, \(G\) and \(H\) are not isomorphic, despite having equal matching numbers.
Check: each degree sum is \(8\), agreeing with twice the four edges: \(2\cdot4=8\). The different degree multisets are therefore not caused by an incorrect edge count; they genuinely distinguish the graphs.
Incomplete Isomorphism Checks
Degree multisets are not a complete test either. Two graphs may pass that check and still have different structures. One should therefore treat a matching invariant as a quick way to rule out isomorphism when it differs, not as proof when it agrees.
Worked Example: Equal Degrees Do Not Settle Isomorphism
Let \(G\) have \(V(G)=\{1,2,3,4,5,6\}\) and \(E(G)=\{12,23,34,45,56,61\}\). Let \(H\) have \(V(H)=\{a,b,c,d,e,f\}\) and \(E(H)=\{ab,bc,ca,de,ef,fd\}\). Every vertex in each graph has degree \(2\), and each graph has six edges.
But \(H\) contains the triangle with vertices \(a,b,c\), since \(ab,bc,ca\) are all edges. \(G\) contains no triangle: the neighbors of its vertices are respectively \(\{2,6\},\{1,3\},\{2,4\},\{3,5\},\{4,6\},\{5,1\}\), and in each listed pair the two vertices are not adjacent in \(G\). Thus no vertex of \(G\) can belong to a triangle.
An isomorphism would send the three vertices of a triangle to three distinct vertices with all three joining edges, so it would preserve the existence of a triangle. Since only \(H\) has one, the graphs are not isomorphic.
Check: both degree multisets are \(\{2,2,2,2,2,2\}\), and both edge counts are \(6\). Those checks agree but fail to distinguish the graphs; the triangle check does distinguish them.
The same reasoning underlies the checks used throughout this topic: any property preserved by an isomorphism can disprove isomorphism when its values differ. But agreement on one or several such properties generally does not establish isomorphism unless a separate theorem says that those properties are sufficient for the particular graph family under consideration.
A Reliable Checklist and Common Pitfall
When working with a proposed subgraph or isomorphism, use a sequence of explicit checks:
- For a subgraph, confirm that every selected edge is an edge of the original graph and has both endpoints among the selected vertices.
- For an induced subgraph on \(S\), inspect every original edge and include it exactly when both endpoints lie in \(S\).
- For an isomorphism, first check that the proposed vertex map is a bijection, then verify adjacency and nonadjacency for every pair.
- For a quick comparison of graphs, use invariants such as degree multisets or matching numbers to rule out isomorphism when they differ. Do not conclude isomorphism merely because they agree.
Common mistake: In the first worked example, one might select \(S=\{1,2,3,4\}\) and write \(E=\{12,23,34\}\), claiming this is \(G[S]\). That calculation keeps a path-shaped subset of the edges, but it omits \(13\) and \(24\). Since both omitted edges belong to \(G\) and have both endpoints in \(S\), the proposed graph is not induced. The correction is to test every edge of \(G\) against \(S\), which gives \(E(G[S])=\{12,13,23,24,34\}\).
Likewise, checking only that a proposed bijection preserves the listed edges is incomplete: it may send a nonedge to an edge. And matching numbers, degree lists, and edge counts are useful filters, not automatic certificates of isomorphism. Keeping these distinctions clear prevents a small arithmetic or bookkeeping shortcut from changing the graph being studied.
Check Your Understanding
For each question, state the check you would use and explain what it does or does not establish.
- Let \(G\) have vertices \(\{1,2,3,4\}\) and edges \(\{12,13,23,34\}\). Find the full edge set of \(G[\{1,2,3\}]\).
- Can two graphs with different degree multisets be isomorphic? Justify your answer.
- Why does a bijection between two vertex sets not, by itself, establish graph isomorphism?
- Two graphs each have matching number \(2\). What conclusion about isomorphism follows from that information alone?
- Give one property, other than degree multiset, that can distinguish the two graphs in the final worked example, and explain why it is preserved by isomorphism.