Trees and Their Properties

How many roads must you build to connect every town in a country? You want to use as few roads as possible. Suppose there are nn towns. The minimal connecting network uses exactly n−1n-1 roads. Any such minimal network has no redundant loops at all. This is the essence of a tree, one of the most useful and elegant objects in all of graph theory. Trees model hierarchies, genealogies, decision procedures, chemical compounds, computer file systems, and the parse structure of every expression you have ever typed into a calculator. The reason trees matter so much is that "minimally connected" turns out to be an extraordinarily rigid condition. A graph with nn vertices that is connected and has no cycles is forced to have exactly n−1n-1 edges. There can be no more, no fewer. Conversely, a huge number of superficially different conditions all pick out the same class of graphs. These include being connected with n−1n-1 edges, being acyclic with n−1n-1 edges, and uniquely connecting every pair of vertices by exactly one path. This equivalence is not a coincidence. It reflects a deep structural fact about how connectivity and edge count trade off against each other. The big picture is that a tree sits at the exact boundary. It lies between "not enough edges to be connected" and "enough edges to have a cycle." Remove any edge from a tree and it falls apart into two pieces. Add any edge to a tree and you create exactly one cycle. This tightness is what makes trees the natural scaffolding for Spanning Trees. Spanning trees are built from arbitrary connected graphs. Trees also play a starring role in algorithm design and network design. They connect to the structural theory of Bipartite Graphs and Characterization. This article gives the formal definitions of trees and forests. It proves the central theorem listing five equivalent characterizations of a tree. It works through two detailed non-trivial examples. Finally, it shows exactly which hypotheses are essential. It does this by exhibiting graphs that fail when one condition is dropped.

Key takeaways
  • A tree is a connected acyclic graph; a forest is a graph in which every component is a tree (an acyclic graph, possibly disconnected).
  • Every tree on n≥1n \ge 1 vertices has exactly n−1n - 1 edges — this is a rigid numerical signature, not a coincidence.
  • A leaf is a vertex of degree 11; every tree with at least two vertices has at least two leaves.
  • Five conditions — connected & acyclic, connected with n−1n-1 edges, acyclic with n−1n-1 edges, unique-path-connected, and minimally connected — are all logically equivalent ways to define a tree.
  • Removing an edge from a tree always disconnects it; adding an edge between two vertices of a tree always creates exactly one cycle.
  • Key idea: a tree is the tightest possible skeleton of connectivity — exactly enough edges to connect everything, and not one edge more.

Where this lives today

Trees are the combinatorial backbone of an enormous range of applied and theoretical work. In computer science, binary search trees, heaps, tries, and parse trees all rely on the acyclic, uniquely-connected structure proved above to guarantee predictable traversal and unambiguous paths from root to leaf. Network design and telecommunications routing use Spanning Trees — minimal connected subgraphs of a larger network — built directly from the "connected with exactly n−1n-1 edges, no redundancy" characterization, which is exactly what keeps a backbone network free of costly, redundant cabling while still reaching every node. In statistics and machine learning, decision trees and hierarchical clustering dendrograms are literal trees in this graph-theoretic sense, and their leaf-counting and path-uniqueness properties underlie algorithms for classification and phylogenetic inference (evolutionary trees reconstructing ancestry from genetic data). In chemistry, Cayley's original motivation persists: enumerating tree-shaped molecular graphs (alkanes) is a direct application of tree enumeration formulas. In cryptography and distributed systems, Merkle trees (hash trees) exploit the unique-path property to allow efficient, tamper-evident verification of large datasets. Electrical engineering uses spanning trees of circuit graphs (via Kirchhoff's laws) to select independent loop and cut-set equations, a direct descendant of the same acyclic, minimally-connected structure. Even the analysis of algorithms' running time often proceeds by recursion trees, whose depth and leaf count are governed by exactly the identities proved here.

Ask the tutor: Can you show me step by step how to build a spanning tree from a connected graph that has cycles, using the edge-deletion idea from this proof?

DefinitionTrees, forests, and leaves

Let G=(V,E)G = (V, E) be a finite simple graph.

  • GG is acyclic if it contains no cycle as a subgraph (equivalently, no closed walk of length ≥3\ge 3 with no repeated vertices except the endpoints).
  • GG is a tree if GG is connected and acyclic.
  • GG is a forest if GG is acyclic (equivalently: every connected component of GG is a tree). A forest need not be connected.
  • A vertex v∈Vv \in V of a tree (or forest) with deg⁡(v)=1\deg(v) = 1 is called a leaf (or pendant vertex). A vertex with deg⁡(v)≥2\deg(v) \ge 2 is an internal vertex.
  • By convention, the graph with a single vertex and no edges is a tree (the trivial tree), and the empty graph on 00 vertices is sometimes allowed as a degenerate forest with 00 components.

Intuition

Picture building a road network one edge at a time, always adding an edge that connects two towns not yet joined by any path. As long as you follow this rule you never create a cycle, because a cycle would require an edge joining two towns that are already connected. When you have added exactly enough edges to connect all nn towns into a single network, you stop — and you will have used exactly n−1n - 1 edges. This is the mental model for a tree: the unique, cycle-free skeleton of a connected structure. A second useful picture is the tree drawn with a root at the top and branches fanning downward, like a family tree or a file-system directory structure. Every non-root vertex has a unique parent, and following parents upward from any vertex reaches the root by a unique path — this "unique path" property is in fact one of the equivalent definitions proved below. The leaves are the endpoints with nothing hanging below them: the childless individuals, the files with no subdirectories. The diagram below shows a labeled tree on 66 vertices with 5=6−15 = 6-1 edges, together with what happens when we perturb it: deleting edge {2,4}\{2,4\} disconnects the tree into two components, while adding the edge {1,5}\{1,5\} creates exactly one new cycle 11–22–44–55–11.

Figure
A tree on 6 vertices with 5 edges; deleting an edge disconnects it, adding an edge creates one cycle
Original tree T (n=6, e=5) 1 2 3 4 5 6 Delete {2,4}: disconnects 1 2 3 4 5 6

Central theorem

TheoremFive equivalent characterizations of a tree

Let G=(V,E)G = (V,E) be a finite simple graph with n=∣V∣≥1n = |V| \ge 1 vertices and m=∣E∣m = |E| edges. The following statements are all equivalent. 1. GG is connected and acyclic (i.e. GG is a tree by definition). 2. GG is acyclic and m=n−1m = n - 1. 3. GG is connected and m=n−1m = n - 1. 4. For every pair of distinct vertices u,v∈Vu, v \in V, there is exactly one path in GG from uu to vv. 5. GG is connected, but the removal of any single edge disconnects it (i.e. GG is minimally connected / edge-minimal among connected spanning subgraphs).

LemmaEdge count in a forest

If F=(V,E)F = (V,E) is a forest with nn vertices and kk connected components, then FF has exactly n−kn - k edges.

Proof

We use induction on m=∣E∣m = |E|, the number of edges.

Base case m=0m = 0: a forest with no edges has every vertex as its own component, so k=nk = n, and indeed m=0=n−n=n−km = 0 = n - n = n - k.

Inductive step. Suppose the claim holds for all forests with fewer than mm edges, and let FF have m≥1m \ge 1 edges. Pick any edge e={u,v}∈Ee = \{u,v\} \in E and let F′=F−eF' = F - e (delete ee, keep all vertices). Since FF is acyclic, so is any subgraph of it, so F′F' is a forest with nn vertices and m−1m - 1 edges. We claim F′F' has exactly k+1k+1 components, i.e. deleting ee splits the component containing uu and vv into exactly two pieces. First, uu and vv lie in the same component CC of FF (they are adjacent). Because FF is acyclic, ee is the unique path between uu and vv in CC: if there were another uu–vv path avoiding ee, adjoining ee to it would produce a cycle in FF, contradicting acyclicity. Removing ee therefore destroys all connectivity between uu and vv within CC: any walk from uu to vv in F′∩CF' \cap C would still be a walk in FF avoiding ee only if it used ee's endpoints differently, but since ee was the only path, no such walk survives. Hence CC splits into (at least) the vertices reachable from uu without ee, and those reachable from vv without ee; and no vertex can be reachable from both (else there would be two distinct uu–vv paths in FF, again forcing a cycle). So CC splits into exactly two components in F′F', while every other component of FF is untouched by deleting ee (an edge inside CC cannot affect vertices outside CC). Thus F′F' has k+1k + 1 components. By the induction hypothesis applied to F′F' (which has m−1m-1 edges, nn vertices, k+1k+1 components):

m−1=n−(k+1).m - 1 = n - (k+1).

Rearranging gives m=n−km = n - k, completing the induction.

∎
CorollaryEdge count in a tree

Every tree on n≥1n \ge 1 vertices has exactly n−1n - 1 edges.

Proof

A tree is a forest with k=1k = 1 component (it is connected). Apply the Lemma with k=1k=1: m=n−1m = n - 1.

∎
Proof

We now prove the full chain of equivalences for the Central Theorem. We show (1)⇒(2)⇒(3)⇒(4)⇒(5)⇒(1)(1) \Rightarrow (2) \Rightarrow (3) \Rightarrow (4) \Rightarrow (5) \Rightarrow (1), which establishes that all five statements are logically equivalent.

(1)⇒(2)(1) \Rightarrow (2). Assume GG is connected and acyclic. Acyclicity is given directly. Since GG is a tree, the Corollary above gives m=n−1m = n - 1.

(2)⇒(3)(2) \Rightarrow (3). Assume GG is acyclic with m=n−1m = n-1. Then GG is a forest; let kk be its number of components. By the Lemma, m=n−km = n - k. Combined with m=n−1m = n-1, we get n−k=n−1n - k = n - 1, so k=1k = 1. A graph with exactly one component is connected. Hence GG is connected with m=n−1m = n-1 edges.

(3)⇒(4)(3) \Rightarrow (4). Assume GG is connected with m=n−1m = n-1 edges. First we show GG is acyclic. Suppose toward contradiction GG contains a cycle CC. Build a spanning subgraph by repeatedly deleting one edge from a cycle whenever one still exists; deleting an edge that lies on a cycle can never disconnect a graph (any path using that edge can be rerouted around the rest of the cycle). After this process we obtain a connected, acyclic spanning subgraph G∗G^* with vertex set VV and some edge set E∗⊊EE^* \subsetneq E (strictly smaller, since we deleted at least one edge from CC). By the already-proven direction (1)⇒(2)(1)\Rightarrow(2), G∗G^* being a tree forces ∣E∗∣=n−1|E^*| = n-1. But ∣E∗∣<∣E∣=n−1|E^*| < |E| = n - 1, a contradiction. Hence GG has no cycle, so GG is connected and acyclic, i.e. GG is a tree. Now, connectivity guarantees at least one path between every pair u,vu,v. Suppose some pair u,vu,v had two distinct paths P1≠P2P_1 \ne P_2. Let ee be an edge on which P1P_1 and P2P_2 first diverge after their last common vertex before eventually reuniting (formally: consider the symmetric difference of their edge sets, restricted to a minimal closed sub-walk — such a sub-walk exists because P1≠P2P_1 \ne P_2 but both start and end at the same vertices). This produces a closed walk with no repeated vertices except its endpoint, i.e. a cycle, contradicting acyclicity of GG (already established). Hence the path between any u,vu,v is unique.

(4)⇒(5)(4) \Rightarrow (5). Assume every pair of vertices is joined by exactly one path. Existence of a path for every pair means GG is connected. Let e={u,v}e = \{u,v\} be any edge of GG. The path consisting of the single edge ee is the unique uu–vv path. If G−eG - e remained connected, there would be some uu–vv path in G−eG - e; since this path does not use ee, it would be a second, distinct uu–vv path in GG, contradicting uniqueness. Hence G−eG - e is disconnected, for every edge ee. So GG is connected but not minimally so if any edge is removed — this is exactly condition (5).

(5)⇒(1)(5) \Rightarrow (1). Assume GG is connected and removal of any edge disconnects it. Connectivity is given. Suppose toward contradiction GG has a cycle CC, and let ee be any edge of CC. As argued in the (3)⇒(4)(3)\Rightarrow(4) step, deleting an edge lying on a cycle cannot disconnect the graph, because any path through ee can be rerouted the "long way" around CC. This contradicts the hypothesis that removing ee disconnects GG. Hence GG has no cycle, i.e. GG is acyclic. Combined with connectivity, GG is a tree, which is exactly statement (1). Since (1)⇒(2)⇒(3)⇒(4)⇒(5)⇒(1)(1) \Rightarrow (2) \Rightarrow (3) \Rightarrow (4) \Rightarrow (5) \Rightarrow (1), all five statements are logically equivalent. ■\blacksquare

∎
CorollaryExistence of leaves

Every tree TT with n≥2n \ge 2 vertices has at least two vertices of degree 11 (leaves).

Proof

By the Corollary above, TT has m=n−1m = n - 1 edges, so the sum of degrees is

∑v∈Vdeg⁡(v)=2m=2(n−1)=2n−2.\sum_{v \in V} \deg(v) = 2m = 2(n-1) = 2n - 2.

Since TT is connected with n≥2n \ge 2 vertices, every vertex has degree ≥1\ge 1 (an isolated vertex would be its own component). Suppose for contradiction that at most one vertex has degree 11; then at least n−1n - 1 vertices have degree ≥2\ge 2. This forces

∑vdeg⁡(v)≥1⋅1+(n−1)⋅2=2n−1>2n−2,\sum_{v} \deg(v) \ge 1\cdot 1 + (n-1)\cdot 2 = 2n - 1 > 2n - 2,

contradicting the exact degree sum 2n−22n-2 computed above. (If instead zero vertices have degree 11, the bound is even larger, ≥2n\ge 2n, an even stronger contradiction.) Hence at least two vertices have degree exactly 11.

∎

Worked examples

Example 1 — verifying tree status via the theorem, and locating leaves. Let GG have vertex set V={a,b,c,d,e,f,g}V = \{a,b,c,d,e,f,g\} (n=7n = 7) and edge set

E={ ab,  ac,  cd,  ce,  ef,  eg }.E = \{\,ab,\; ac,\; cd,\; ce,\; ef,\; eg\,\}.

Here m=6=7−1=n−1m = 6 = 7 - 1 = n-1. We check connectivity directly: from aa we reach bb (via abab) and cc (via acac); from cc we reach dd and ee; from ee we reach ff and gg. So every vertex is reachable from aa, and GG is connected. By condition (3)(3) of the theorem (connected, m=n−1m=n-1), GG is a tree — we did not need to separately check acyclicity, since (3)⇒(1)(3)\Rightarrow(1) was proved directly in the theorem. Degrees: deg⁡(a)=2\deg(a) = 2 (b,cb,c), deg⁡(b)=1\deg(b)=1, deg⁡(c)=3\deg(c)=3 (a,d,ea,d,e), deg⁡(d)=1\deg(d)=1, deg⁡(e)=3\deg(e)=3 (c,f,gc,f,g), deg⁡(f)=1\deg(f)=1, deg⁡(g)=1\deg(g)=1. Degree sum =2+1+3+1+3+1+1=12=2⋅6=2m= 2+1+3+1+3+1+1 = 12 = 2 \cdot 6 = 2m, confirming the handshake identity. The leaves are exactly {b,d,f,g}\{b,d,f,g\} — four leaves, consistent with the Corollary's guarantee of at least two. As a further check of the theorem's equivalences, consider the unique path from bb to gg: it must be bb–aa–cc–ee–gg, and one can verify by inspection of EE that no other bb–gg path exists (there is no alternate edge out of aa, cc, or ee that would create a detour). This matches condition (4)(4). Finally, deleting edge cece splits GG into components {a,b,c,d}\{a,b,c,d\} and {e,f,g}\{e,f,g\}, illustrating condition (5)(5): every edge is a "bridge" whose removal disconnects the tree.

Example 2 — a forest that is not a tree, and repairing it. Let HH have vertex set V={1,2,3,4,5,6,7,8}V = \{1,2,3,4,5,6,7,8\} (n=8n = 8) and edges

E={ 12,  23,  24,  56,  57,  78 }.E = \{\,12,\; 23,\; 24,\; 56,\; 57,\; 78\,\}.

Here m=6m = 6. Note m=6≠n−1=7m = 6 \ne n - 1 = 7, so by the contrapositive of condition (3)(3) in the theorem, HH cannot be a connected acyclic graph on all 88 vertices simultaneously — but this alone does not tell us whether HH has a cycle or is simply disconnected. We check directly. Component analysis: starting from vertex 11, we reach 22 (edge 1212), then 3,43,4 (edges 23,2423, 24); this component is {1,2,3,4}\{1,2,3,4\} with 33 edges. Starting from vertex 55, we reach 6,76,7 (edges 56,5756,57), then 88 (edge 7878); this component is {5,6,7,8}\{5,6,7,8\} with 33 edges. So HH has k=2k=2 components, each with 44 vertices and 3=4−13 = 4-1 edges — each component individually satisfies condition (3)(3) of the theorem (relative to its own vertex set), so each component is itself a tree. By definition, HH (a disjoint union of trees) is a forest, not a tree, since it is disconnected as a whole. Sanity check with the Lemma: n−k=8−2=6=mn - k = 8 - 2 = 6 = m. ✓. To repair HH into a single tree on all 88 vertices, we must add exactly one edge joining the two components (any more would create a cycle by the Lemma, since edges beyond n−kn-k within a forest force kk to drop faster than the edge count allows — indeed adding an edge between two vertices already in the same component always closes a cycle, by the uniqueness of paths proved in condition (4)(4)). Suppose we add edge {4,5}\{4,5\}. The new graph H′H' has n=8n=8, m=7=n−1m = 7 = n-1, and is connected (every vertex of the first component reaches every vertex of the second via 44–55). By condition (3)(3), H′H' is a tree. Its leaves are {1,3,6,8}\{1,3,6,8\} (degree 11 each), while 2,4,5,72,4,5,7 are internal, matching the "at least two leaves" guarantee with room to spare.

CounterexampleWhy "acyclic" alone is not enough — the connectivity hypothesis cannot be dropped

Statement (1)(1) of the theorem requires both connectedness and acyclicity. Consider the graph KK on n=5n = 5 vertices {1,2,3,4,5}\{1,2,3,4,5\} with edge set

E={ 12,  23,  45 }.E = \{\,12,\; 23,\; 45\,\}.

This graph is acyclic: it consists of a path 11–22–33 and a disjoint edge 44–55, and neither piece contains a cycle. But KK is not connected (vertex 11 cannot reach vertex 44), so KK is not a tree — it is a forest with k=2k = 2 components. Here m=3m = 3 while n−1=4n - 1 = 4, so m≠n−1m \ne n-1: this is exactly what the Lemma predicts, since m=n−k=5−2=3m = n - k = 5 - 2 = 3. This shows why condition (2)(2) ("acyclic and m=n−1m=n-1") genuinely needs the edge-count clause and not just acyclicity — acyclic graphs in general only satisfy m=n−km = n-k for however many components kk they have, and only forcing k=1k=1 (via connectivity, or via the edge count matching n−1n-1) pins down a tree. Dropping connectivity from statement (1)(1), or dropping the numerical hypothesis m=n−1m=n-1 from statement (2)(2), allows disconnected acyclic examples like KK to slip through, which are forests but not trees.

Scope, edge cases & common traps

SituationWhat holdsWhat can go wrong if misapplied
n=1n = 1 (single vertex, no edges)Trivially a tree; m=0=n−1m = 0 = n-1; no leaves (leaf requires degree 11, but this vertex has degree 00)Do not expect 22 leaves here — the "≥2\ge 2 leaves" corollary explicitly assumes n≥2n \ge 2
n=2n = 2The unique tree is a single edge; both vertices are leaves—
Multigraphs / loopsThe theorem as stated is for simple graphsA loop is itself a cycle of length 11; a double edge is a cycle of length 22 — both silently break acyclicity if allowed
Disconnected acyclic graphsThese are forests, not treesCommon error: calling any acyclic graph a "tree"
Using m=n−1m = n-1 alone (no connectivity, no acyclicity)Not sufficient by itselfm=n−1m=n-1 with a cycle present forces disconnection elsewhere (Lemma), but neither condition alone pins down a tree — see the warning below
Counting leaves in a "path graph" PnP_nExactly 22 leaves (the endpoints), matching the lower bound tightlyDo not assume all trees have many leaves — paths are the extremal minimal case

The mathematician behind it

Origins · 1 minArthur Cayley and how this was discovered
AC
Arthur Cayley
1821–1895 · Victorian algebra and combinatorics, Cambridge and London

Arthur Cayley was one of the most prolific mathematicians of the nineteenth century, a founder of modern algebra (matrix theory, group theory, invariant theory) who also made foundational contributions to the theory of trees. Working initially as a lawyer for over a decade before securing an academic post at Cambridge, Cayley studied trees both for their own combinatorial structure and for their application to counting isomers of saturated hydrocarbons in chemistry — a striking early instance of graph theory meeting the natural sciences. His formula for the number of labeled trees on nn vertices, nn−2n^{n-2}, remains one of the most celebrated exact enumeration results in combinatorics.

History
- 1847: Gustav Kirchhoff introduces tree-like structures implicitly while analyzing electrical circuits, laying groundwork for later graph-theoretic treatments of trees.
- 1857: Arthur Cayley formally introduces and names "trees" in the modern graph-theoretic sense, motivated in part by counting isomers of chemical compounds.
- 1875: Cayley publishes further systematic work enumerating trees, building the combinatorial foundations still used today.
- 1889: Cayley proves the formula nn−2n^{n-2} for the number of distinct labeled trees on nn vertices, a landmark enumerative result.
- 20th century: Trees become central to algorithm design (spanning trees, search trees, decision trees) as computer science formalizes data structures built directly on tree properties.
Is every acyclic graph a tree?

No. An acyclic graph is called a forest, and a forest is a disjoint union of trees — one tree per connected component. A graph is a tree specifically when it is both acyclic and connected, meaning it has exactly one component. For example, two disjoint triangle-free paths form an acyclic graph with two components; this is a forest with two trees inside it, but the whole graph is not itself a tree because it fails connectivity. The word "tree" is reserved for the connected case, and this distinction matters in every theorem statement above.

Why must a tree have at least two leaves, and can it have exactly two?

The proof uses the handshake lemma: the degree sum of a tree on n≥2n \ge 2 vertices is 2(n−1)2(n-1), and since every vertex has degree at least 11 (connectivity rules out isolated vertices), too few degree-11 vertices would push the total degree sum above 2(n−1)2(n-1). Working through the inequality forces at least two leaves. Equality is achieved exactly by path graphs PnP_n, which have precisely two leaves (the two endpoints) and every internal vertex of degree exactly 22 — the "thinnest" possible tree shape.

Does the n-1 edge count characterize trees among all graphs, or only among connected or acyclic ones?

It characterizes trees only in conjunction with one additional hypothesis: either connectedness or acyclicity, but not by itself. A graph can have exactly n−1n-1 edges while being disconnected and containing a cycle simultaneously (a triangle plus isolated vertices is the classic counterexample). The theorem's precise statements pair the edge count with exactly one of these two structural conditions, and then derive the other as a consequence — that is the substantive content of the equivalence, not something you get for free from counting alone.

How does this relate to spanning trees of a general connected graph?

Given any connected graph GG with more edges than ∣V∣−1|V|-1, a spanning tree is a subgraph that includes every vertex of GG but only ∣V∣−1|V|-1 of its edges, chosen so the result stays connected and acyclic. The five-way equivalence proved here is exactly what guarantees such a subgraph exists and behaves like a tree: repeatedly deleting an edge from any cycle (as in the (3)⇒(4)(3)\Rightarrow(4) proof step) never disconnects the graph, so this process terminates at a genuine spanning tree. This construction is developed fully under Spanning Trees.

Can a tree be directed, and does the theory change?

The theorem here concerns undirected simple graphs. Rooted trees used in computer science (e.g., binary search trees) are often drawn with directed edges pointing from parent to child, but the underlying undirected skeleton — obtained by ignoring edge directions — is exactly a tree in the sense defined here, and still satisfies m=n−1m = n-1, unique undirected paths, and the leaf-counting corollary. Choosing a root and orienting edges is additional structure layered on top of, not a replacement for, the undirected tree properties proved above.

What is the fastest way to check "is this graph a tree" on paper?

Count vertices nn and edges mm first. If m≠n−1m \ne n - 1, stop — it cannot be a tree, by the Corollary. If m=n−1m = n-1, check just one of connectedness or acyclicity (whichever is visually easier), and the theorem guarantees the other holds automatically. This halves the work: you never need to verify both connectivity and acyclicity directly once the edge count matches n−1n-1.

Is the "at least two leaves" bound related to bipartiteness?

Not directly, though the two ideas intersect naturally: every tree is automatically bipartite, since a tree has no odd cycles (it has no cycles at all), and bipartiteness is fully characterized by the absence of odd cycles. The leaf-count bound is a separate degree-sum argument. Both facts about trees serve as useful warm-up cases when the more general theory of Bipartite Graphs and Characterization is developed for arbitrary graphs, not just acyclic ones.

Before this

Where this leads