2-core of a graph Created 2026-10-14 Updated 2026-10-18
The 2-core is what remains of a finite simple graph after repeatedly removing every vertex with fewer than two surviving graph neighbours. It strips away dangling trees while keeping the part that can support itself under this local rule. Precisely, for an undirected graph , its 2-core is the unique maximum by set inclusion induced subgraph such that
The empty vertex set is allowed: the condition is then vacuous, without needing to define the minimum degree of the empty graph. "Maximum by inclusion" means that contains every other vertex set satisfying the condition. It is stronger than merely saying that one chosen set cannot be enlarged: the 2-core simultaneously contains all possible qualifying induced subgraphs. In this particular family, every inclusion-maximal qualifying set does equal that unique maximum; the union argument in why the 2-core is unique explains why. [ref]
For a complete worked example, let denote the edge and take
The triangle in a graph has a branching tail attached at , and is an isolated vertex. In alphabetical order the initial degrees of vertices are . Deleting turns into a leaf of a graph; deleting leaves with degree of a vertex two; deleting changes no other degree of a vertex. Now delete , which makes a leaf of a graph, and finally delete . Exactly the three edges of remain: .
Figure 1.
The complete leaf pruning for the 2-core trace: each panel recomputes the displayed degrees of vertices from the surviving induced subgraph, while the FIFO queue determines the next deletion
. Details.
A forest has empty 2-core: every nonempty finite forest has an isolated vertex or a leaf of a graph, so deletion cannot stop at a nonempty remainder. In particular, an isolated edge, an isolated vertex, a path graph, and the empty graph all have empty 2-core. Every cycle graph is its own 2-core. Two disjoint triangles in a graph also form their own 2-core, so a 2-core need not be a connected graph; attaching a tree to either triangle changes neither surviving triangle.
Chromatic polynomial after attaching a leaf Created 2026-09-24 Updated 2026-10-14
Attaching a new vertex that is a leaf of a graph multiplies the chromatic polynomial by : after colouring the old graph, the new vertex may receive any colour except its neighbour's. Starting with one vertex and repeatedly adding a leaf of a graph constructs any finite tree. Thus a tree with vertices has
In contrast, every pair of vertices in a complete graph must receive different colours, so the multiplication principle gives the falling factorial
For positive integers this product vanishes, expressing the impossibility of assigning distinct colours to all vertices.
Graph subdivision Created 2026-09-29 Updated 2026-10-14
A graph subdivision replaces each edge of a simple graph by a graph path of at least one edge joining its original endpoints. The original vertices are branch vertices of a graph subdivision. The replacement graph paths have pairwise disjoint interiors, contain no branch vertices of a graph subdivision internally, and together make up the entire new graph. Leaving an edge unchanged is allowed.[ref]
For an explicit example, take with vertex set and edges : a triangle in a graph with one attached leaf of a graph. Replace its edges by the following branch paths of a graph subdivision:
The resulting graph subdivision has vertex set and edges . The internal vertex sets are , so disjointness is explicit. The degrees of vertices of remain , respectively; the three new internal vertices each have degree of a vertex two.
Adding internal vertices to a finite graph increases both its vertex count and its edge count by . Here , so four vertices and four edges become seven of each; the graph excess is unchanged. Each replacement graph path remains a route between the same junctions. Thus graph subdivision preserves whether a graph is a planar graph: insert intermediate vertices along a crossing-free drawing, or trace each replacement graph path as one edge to recover a drawing of the original graph. Travel times or capacities are separate modelling choices and are not determined by this adjacency construction.
Factor the proposed polynomial:
In particular,
By the two-colourability criterion for bipartite graphs, every finite bipartite graph has at least one proper two-colouring, so its chromatic polynomial is positive at . Therefore cannot be the chromatic polynomial of a bipartite graph.
It is nevertheless a chromatic polynomial. Start with the complete graph , whose vertices may be coloured in
ways, and attach one leaf to any vertex. After the triangle is coloured, the leaf has available colours. The chromatic polynomial after attaching a leaf therefore gives
The inequality need not be strict. Start with the nearest-neighbour weighted graph , attach a new leaf only to the origin , and give its edge positive weight. Take and . A walk starting from must move to at its first non-killed step, while any walk reaching from elsewhere must first pass through . Hence the equilibrium potential of a finite set is the same for the two sets:
Using for a finite set gives
despite .
A label appears in the code exactly its degree minus one times, as proved in (i). It is a leaf of a graph exactly when it never appears. Therefore
For example the code in (ii) uses three distinct labels, so its ten-vertex tree has seven leaves of a graph.
Encode a labelled tree by repeatedly deleting its smallest-labelled leaf of a graph and recording its neighbor, stopping when two vertices remain. This produces a sequence of length with entries in .
Conversely, given such a sequence, at each step choose the smallest unused label not occurring in the remaining sequence, join it to the first sequence entry, delete that chosen label and the first entry, and continue. Finally join the two labels left over. A label outside the remaining sequence always exists because two more labels than entries remain. The process never uses a previously deleted label as a sequence entry. Each step attaches a new leaf of a graph to the eventual remaining graph, so backward induction shows that the result is connected and acyclic, hence a tree.
In a tree encoding, a vertex occurs once for every incident edge except the edge by which it is eventually removed, or the final surviving edge. Thus its number of occurrences is its degree minus one. The labels absent from the current remaining sequence are exactly the current leaves of a graph. Both procedures therefore choose the same smallest leaf of a graph and edge at every stage. They are inverse maps, proving the claimed bijection, including the empty sequence when .
For there are no edges. Every finite tree with at least two vertices has a leaf of a graph: an endpoint of a longest simple path cannot have another neighbor, since that would either create a cycle or extend the path. Delete that leaf of a graph and its sole edge. The remaining graph is still a tree, so induction gives remaining edges and original edges. Alternatively the decoding construction in (i) inserts exactly edges and then the final edge.
The sum of degrees is twice the number of edges, so
For this gives
Necessity of the divisibility condition follows. Conversely, when , choose internal labels and form a Prüfer sequence in which each of them appears exactly times. Its length is ; all other labels are absent. The decoded tree has degree at the chosen labels and degree one elsewhere. Thus the divisibility condition is sufficient, with the displayed leaf of a graph count. For the code is empty and the sole edge works, with no internal vertices.
The division assumes . If , all vertices would have degree one, and the only connected tree with is the two-vertex edge. This separate case is not expressed by division by .
Prüfer degree formula Created 2026-10-14 Updated 2026-10-31
For a labelled tree with vertices, the vertex degree of label is one plus the number of occurrences of in its Prüfer sequence:
Each recording of corresponds to an incident edge removed when a neighbouring leaf of a graph is deleted. Exactly one incident edge remains when itself is deleted, or when it belongs to the final pair. In particular, is a leaf of a graph exactly when it never occurs in the Prüfer sequence. The same reasoning applies to each remaining tree and its remaining code. [ref]
For , the occurrence counts in label order are , giving the degree sequence . Its sum is , as required by the degree-sum formula. More generally, summing the occurrence counts gives , so summing the vertex degrees gives .
Prüfer sequence 2026-10-14
For , a Prüfer sequence is the encoding of a labelled tree on by a sequence
Repeated labels are allowed, and their order matters. To encode the tree, repeatedly remove its smallest-labelled leaf of a graph together with its incident edge, recording the label of its unique neighbour. Stop when two vertices remain; do not record their final edge. Removing a leaf of a graph leaves a tree, so the procedure makes exactly deletions. The choice of the smallest label makes the encoding deterministic. [ref]
For a concrete example, take six vertices and the set of edges
Initially label the vertices of vertex degree one. Remove and record its neighbour . Now has become a leaf of a graph, so remove and record . Next remove and record again; then remove and record . The final edge joins and . Thus the Prüfer sequence is
The deletion order is : removing a leaf of a graph can make its neighbour a leaf of a graph, so the eligible labels change as the tree shrinks.
Figure 1.
Encoding a six-vertex tree as the Prüfer sequence , then reconstructing its five edges
. Details.
To decode, keep a set of remaining labels, initially , and the remaining sequence, initially . While the sequence is nonempty, let be the smallest label in absent from the entire remaining sequence. Add an edge between and its first entry, then remove from and delete that first entry. Finally join the two labels left in . For the example:
Remaining sequence before the stepSmallest absent remaining labelEdge added
Empty; Final pair
The decoder always has a choice: if the remaining sequence has length , then has labels, so at least two of them are absent. Its first entry is still in , and differs from the chosen absent label. Every removed vertex attaches to a vertex that survives longer; following these attachments eventually reaches the final pair. Consequently the decoded graph is connected, and its edges make it a tree. In this construction, each occurrence of contributes an incident edge, and gets one more edge at its final attachment. Thus a remaining label is absent from the remaining sequence exactly when it labels a leaf of a graph. Encoding and decoding choose the same smallest label at each step and undo each other. This bijection proves Cayley's formula and explains why every freely chosen sequence is valid. [ref]
For there is exactly one empty sequence, and decoding adds the sole edge. For there is one tree, with vertex degree zero, but no length- Prüfer sequence. This is the exception both to the encoding convention and to the Prüfer degree formula.
Heinz Prüfer's 1918 paper "Neuer Beweis eines Satzes über Permutationen" appeared in Archiv der Mathematik und Physik, third series, volume 27, pages 142–144. It gives an encoding proof of the labelled tree count. The historical title means "New proof of a theorem on permutations"; the modern Prüfer sequence permits repeated labels, so it is not a permutation. [ref]
A simplicial vertex is a graph vertex whose graph neighbourhood is a clique. Every isolated vertex and every leaf of a graph qualifies. In the three-triangle chordal graph, initially qualify, but only becomes a simplicial vertex after deleting . This is a property of adjacency in a graph; a vertex of a simplicial complex is an element of a different kind of structure.
Topological minor 2026-10-14
A topological minor records a network pattern whose vertices remain individual junctions but whose edges may become longer routes. For finite simple graphs, means that contains a subgraph that is a graph subdivision of up to graph isomorphism. Equivalently, choose distinct branch vertices of a graph subdivision for and a graph path from to for every . These are internally vertex-disjoint paths, and no internal vertex of any is a branch vertex of a graph subdivision. Only endpoints corresponding to a shared target vertex may be shared.[ref]
The graph subdivision example below replaces two edges of a triangle in a graph by routes of two and three edges while retaining its attached leaf of a graph. If the host graph also contains an extra edge , the same routes still witness a topological minor: delete when selecting the subgraph. An induced subgraph is not required. However, routes that merely connect the right pairs are insufficient: using a branch vertex of a graph subdivision as an intermediate junction, or making two routes share an internal vertex, can change the local network structure.
Every topological minor is a graph minor. In each branch path of a graph subdivision, contract all but one edge; the disjoint interiors let this shorten each route without merging distinct branch vertices of a graph subdivision. This recovers after deleting unused vertices and edges.[ref] The converse fails because an ordinary branch set of a graph minor can gather several junctions into one.
For the tree with vertices and edges , contracting produces a star graph : the branch sets of a graph minor are . Both have degree of a vertex three; each of the other four vertices is a leaf of a graph with degree of a vertex one. The new centre has four distinct graph neighbours ; its degree of a vertex is , in agreement with the edge contraction formula.
Figure 1.
A graph minor can combine two junctions: contracting creates a star graph with a centre of degree of a vertex four
. Details.
Yet is not a topological minor of . In a graph subdivision of , four branch paths of a graph subdivision must leave the centre through four different edges; sharing their first internal vertex would violate internal disjointness. Thus any host needs a vertex of degree of a vertex at least four, whereas . More generally, implies , where is the maximum degree of a graph. This bound concerns the host graph; extra unused edges may make its branch vertices of a graph subdivision have larger degrees of vertices than their target counterparts.
This distinction matters when a network's individual junctions have a limited number of connections: replacing a connection by a route preserves the number of routes meeting at each chosen junction, while contracting a connected region can combine connections from separate junctions. It also explains why a small nonplanar pattern can hide inside long routes. By Kuratowski's theorem, a finite simple graph is a planar graph exactly when it has neither the complete graph nor the complete bipartite graph as a topological minor. The obstruction is a graph subdivision inside the network, regardless of the number of intermediate vertices.
Tree (graph theory) 2026-10-13
A tree is a nonempty connected graph containing no graph cycle. Think of seven locations joined so that everyone can reach everyone else, but no connection supplies an alternative route. For a finite simple graph with vertices, three descriptions are equivalent: being a tree; having exactly one simple graph path between every pair of distinct vertices; and being a connected graph with exactly edges. Here a simple graph path repeats no vertex. Connectedness in the last description is essential. [ref]
For a concrete tree, label the vertices and take the edges
where abbreviates the unordered pair . There are seven vertices and six edges. The unique graph path from to is , using five edges. The degree sequence in label order is : its sum is , as the degree-sum formula predicts. Each of is a leaf of a graph, having vertex degree one.
Figure 1.
A seven-vertex tree: one graph path, two connected components of a graph after deletion, and one graph cycle after insertion
. Details.
Deleting edge leaves precisely two connected components of a graph, on and . Every edge of a tree is a bridge in a graph. Instead add edge to the original tree: it closes the unique existing graph path into exactly one graph cycle. Thus a tree provides economical connections with no redundancy: a single failed link separates locations. Every finite tree with at least two vertices has at least two instances of a leaf of a graph; the endpoints of a longest graph path supply them. [ref]
The number alone proves nothing about connectedness: a cycle graph on together with an isolated vertex has seven vertices and six edges, yet is disconnected. Briefly, two different simple graph paths between the same vertices would contain a graph cycle. Repeatedly removing a leaf of a graph and its incident edge proves the tree count by mathematical induction, starting with one vertex and no edges.