A set/category theoretic interpretation. Here’s a much more thorough elaboration. I’m proud to say that it may be the most comprehensive video explanation of this fact.

## Encoding 0 and 1 as sets

The standard encoding of the natural numbers as sets gives:

- 0 is the empty set \(\{\}\).
- 1 is a set that contains 0. In set notation, it’s \(\{0\}\). Unfolding the definition further, it’s a set that contains the empty set, \(\{\{\}\}\).

## Counting functions with exponents

`Target^Source`

can be interpreted as the set of all functions from Source to
Target. This is seen in the powerset notation \(2^X\), where we can identify
subsets of \(X\) with maps into a 2 element set, where 1 element indicates “yes
this is in the subset” and the other indicates no.

### Examples

Let

- Source := \(\{1, 2\}\)
- Target := \(\{3\}\)

There is exactly 1 function between these sets, which sends both 1 and 2 to 3. The exponential formula predicts \(1^2 = 1\) possible functions, which checks out.

Let

- Source := \(\{\}\)
- Target := \(\{1\}\)

There is exactly 1 function between them, the empty set.

The empty set can be interpreted as a function because functions are subsets of
the Cartesian product `Source x Target`

. An empty set meets this criteria.

Let

- Source := \(\{1\}\)
- Target := \(\{\}\)

There are no functions between them because all elements of Source must be mapped to something, but there’s nothing to map to. The exponential formula gives \(0^1 = 0\) total functions.

Finally, let

- Source := \(\{\}\)
- Target := \(\{\}\)

There’s nothing in Target to map to, but there’s also nothing that needs mapping from since Source is empty too. So the empty set is a valid function between them.

Therefore, the set of all functions between empty sets (aka 0) is a set that contains the empty set. Which is 1, by the standard encoding given above.

A nice confluence.