A **forest** is an undirected graph in which any two vertices are connected by at most one path.

Equivalently, a **forest** is an undirected graph with no cycles, all of whose connected components are trees; in other words, the graph consists of a disjoint union of *trees*.

**Theorem:** A graph is a forest if and only if each pair of distinct edges

**Theorem:** A **forest** with