Theorem · The quorum overlap boundLet a write be applied to a set of W nodes and a read consult a set of R nodes, both subsets of the same N. If R + W > N then the two sets intersect, and the intersection contains at least R + W − N nodes. If R + W ≤ N there exist a read set and a write set that are disjoint.
The read set and the write set together name R + W nodes, counted with repetition, from a pool of N distinct nodes. Each node can be named at most twice — once by each set — so the number of nodes named by both is at least R + W − N. When R + W > N that quantity is positive, so the sets intersect.
For the converse, if R + W ≤ N then the W nodes of the write and R further nodes can be chosen from the N without reusing any, and those R form a read set disjoint from the write set. Such a read returns no copy of the write at all.
□
The theorem is about set membership and it is proved in two lines, which is why it is the load-bearing fact in every quorum system. What takes care is the second half of the statement: the bound is a minimum, and a minimum is only useful if something attains it.
N = 3 nodes {1, 2, 3}, R = 2, W = 2
read sets {1,2} {1,3} {2,3}
write sets {1,2} {1,3} {2,3}
size of the intersection, over all 9 pairs
{1,2} {1,3} {2,3}
{1,2} 2 1 1
{1,3} 1 2 1
{2,3} 1 1 2
smallest entry = 1 = R + W − N, and it occurs in 6 of the 9 pairs
Two thirds of the pairs sit exactly on the bound, so a design that assumed a comfortable margin of agreement between the read set and the write set has assumed something that is false most of the time. The guarantee is one node, and one node is enough — provided the reader knows what to do with a set of answers that disagree.
What the overlap does not buy
The read set contains a node holding the latest acknowledged write. It also contains, in general, nodes holding older values, and the reader receives all of them without a label saying which is which. Version numbers or timestamps are what turn the overlap into an answer, and they bring their own difficulties — “Lamport Clocks” and “Physical Clocks and Drift” are both about how badly a naive version of that can go.
Example · Two concurrent writes, and an overlap that decides nothingN = 3, R = 2, W = 2. Client one writes x = 1 to {1,2}; at the same moment client two writes x = 2 to {2,3}. Both writes satisfy the configuration and both are acknowledged. A reader consulting {1,3} sees 1 and 2 and overlaps with both write sets, exactly as the theorem promises. The theorem has done its job and the reader still does not know which value is current, because neither write happened before the other. That is a conflict rather than a staleness problem, and it is what “Vector Clocks and Concurrency” makes countable and “Conflict Resolution, Counted” decides.
So the right claim for a (N, R, W) configuration with R + W > N is: no acknowledged write can be missed entirely by a subsequent read. That is a real and useful guarantee. It is not “the read returns the current value”, and the gap between the two is where most of the remaining lessons on this course live.