# Ore's theorem

Ore's theorem is a result in graph theory proved in 1960 by Norwegian mathematician Øystein Ore. It gives a sufficient condition for a graph to be Hamiltonian, essentially stating that a graph with sufficiently many edges must contain a Hamilton cycle. Specifically, the theorem considers the sum of the degrees of pairs of non-adjacent vertices: if every such pair has a sum that at least equals the total number of vertices in the graph, then the graph is Hamiltonian.

## Formal statement

Let G be a (finite and simple) graph with n ≥ 3 vertices. We denote by deg v the degree of a vertex v in G, i.e. the number of incident edges in G to v. Then, Ore's theorem states that if
| deg v + deg w ≥ n for every pair of distinct non-adjacent vertices v and w of G | (∗) |
then G is Hamiltonian.

## Proof

It is equivalent to show that every non-Hamiltonian graph G does not obey condition (∗). Accordingly, let G be a graph on n ≥ 3 vertices that is not Hamiltonian, and let H be formed from G by adding edges one at a time that do not create a Hamiltonian cycle, until no more edges can be added. Let x and y be any two non-adjacent vertices in H. Then adding edge xy to H would create at least one new Hamiltonian cycle, and the edges other than xy in such a cycle must form a Hamiltonian path v$_1$v$_2$...v$_n$ in H with x = v$_1$ and y = v$_n$. For each index i in the range 2 ≤ i ≤ n, consider the two possible edges in H from v$_1$ to v$_i$ and from v$_{i−1}$ to v$_n$. At most one of these two edges can be present in H, for otherwise the cycle v$_1$v$_2$...v$_{i−1}$v$_n$v$_{n−1}$...v$_i$ would be a Hamiltonian cycle. Thus, the total number of edges incident to either v$_1$ or v$_n$ is at most equal to the number of choices of i, which is n − 1. Therefore, H does not obey property (∗), which requires that this total number of edges (deg v$_1$ + deg v$_n$) be greater than or equal to n. Since the vertex degrees in G are at most equal to the degrees in H, it follows that G also does not obey property (∗).

## Algorithm

Palmer (1997) describes the following simple algorithm for constructing a Hamiltonian cycle in a graph meeting Ore's condition.
* Arrange the vertices arbitrarily into a cycle, ignoring adjacencies in the graph.
* While the cycle contains two consecutive vertices v$_i$ and v$_{i+1}$ that are not adjacent in the graph, perform the following two steps:
** Search for an index j such that the four vertices v$_i$, v$_{i+1}$, v$_j$, and v$_{j+1}$ are all distinct and such that the graph contains edges from v$_i$ to v$_j$ and from v$_{j+1}$ to v$_{i+1}$
** Reverse the part of the cycle between v$_{i+1}$ and v$_j$ (inclusive).
Each step increases the number of consecutive pairs in the cycle that are adjacent in the graph, by one or two pairs (depending on whether v$_j$ and v$_{j+1}$ are already adjacent), so the outer loop can only happen at most n times before the algorithm terminates, where n is the number of vertices in the given graph. By an argument similar to the one in the proof of the theorem, the desired index j must exist, or else the nonadjacent vertices v$_i$ and v$_{i+1}$ would have too small a total degree. Finding i and j, and reversing part of the cycle, can all be accomplished in time O(n). Therefore, the total time for the algorithm is O(n$^2$), matching the number of edges in the input graph.

## Related results

Ore's theorem is a generalization of Dirac's theorem that, when each vertex has degree at least n/2, the graph is Hamiltonian. For, if a graph meets Dirac's condition, then clearly each pair of vertices has degrees adding to at least n.
In turn Ore's theorem is generalized by the Bondy–Chvátal theorem. One may define a closure operation on a graph in which, whenever two nonadjacent vertices have degrees adding to at least n, one adds an edge connecting them; if a graph meets the conditions of Ore's theorem, its closure is a complete graph. The Bondy–Chvátal theorem states that a graph is Hamiltonian if and only if its closure is Hamiltonian; since the complete graph is Hamiltonian, Ore's theorem is an immediate consequence.
Woodall (1972) found a version of Ore's theorem that applies to directed graphs. Suppose a digraph G has the property that, for every two vertices u and v, either there is an edge from u to v or the outdegree of u plus the indegree of v equals or exceeds the number of vertices in G. Then, according to Woodall's theorem, G contains a directed Hamiltonian cycle. Ore's theorem may be obtained from Woodall by replacing every edge in a given undirected graph by a pair of directed edges. A closely related theorem by Meyniel (1973) states that an n-vertex strongly connected digraph with the property that, for every two nonadjacent vertices u and v, the total number of edges incident to u or v is at least 2n − 1 must be Hamiltonian.
Ore's theorem may also be strengthened to give a stronger conclusion than Hamiltonicity as a consequence of the degree condition in the theorem. Specifically, every graph satisfying the conditions of Ore's theorem is either a regular complete bipartite graph or is pancyclic (Bondy 1971).