A Venn diagram shows all possible logical relations between a finite collection of different sets. Below is a likely familiar example of a Venn diagram with 2 and 3 sets, respectively:

How might you extend this to larger and larger numbers of sets?

Here’s my solution:

Let’s start with a Venn diagram for 0 sets. We can represent our single possibility (no sets) with a single (empty) region - this square:

Next, we add one set. Let’s call this set Purple. We now have two regions, one for no sets, and one for just Purple:

Naturally, we add another set next (Green). We now have 4 regions, corresponding to no sets, just Purple, just Green, and Purple & Green:

Next, we add Blue. We now have 8 regions, corresponding to no sets, just Purple, just Green, and Purple & Green, just Blue, Purple & Blue, Green & Blue, and Purple & Green & Blue.

Notice that every time we add a new set, our number of subsets (regions) doubles. We had 4 subsets before adding Blue. When we add Blue, for each of the 4 previous subsets, we can choose to either add Blue to that subset or not.

Next, we add Pink, and we have 16 regions:

Add Orange, for 32 regions:

And lastly, add Red, for 64 regions:

Correspondence to binary numbers

It’s no coincindence that the number of subsets (regions) doubles with the addition of each new set, and the number of binary numbers doubles with the addition of a new digit. We can make a one-to-one correspondence between binary numbers of length N and the possible subsets of N sets. If we choose N = 4, here is the correspondence:

Each region corresponds to both a subset and a binary number of length 4, and each binary digit represents whether or not a particular set (color) is included in the subset. In my example, 0011 represents the subset Green & Pink, and similarly corresponds to the region shaded with both Green & Pink (but not Purple or Blue). If you choose a different binary number of length 4, it will correspond to a different region where the shaded colors correspond to the digits with ones.

Hypercubes

We just saw that our Venn diagram was essentially encoding binary numbers geometrically. Arguably, the most natural way to encode an N-digit binary number geometrically is using the vertices of a N-dimensional hypercube. Unfortunately, drawing in N-dimensions is hard, so I’ll demonstrate how this would work for the first few: