The ham sandwich theorem states that it is possible to divide a sandwich made up of three layers (ham, butter, bread) exactly in half with just one cut of the knife. Here's the mathematical formulation.

Theorem Given three bounded subsets of R3 there exists a plane in R3 dividing each of the subsets in half by volume.

The proof of the ham sandwich theorem is a corollary of the Borsuk-Ulam theorem.

 

Table of Contents

  1. Introduction and definitions
  2. Cutting a slice of bread in half
  3. Cutting a slice of bread and some ham in half
  4. Cutting a slice of bread, some ham and a second slice of bread in half
  5. Postface

Introduction and definitions

A brief example1, co-opted from mathematician Hannah Fry.2

 

The claim
It’s possible to divide a ham sandwich in two equal halves with one and only one straight cut of a knife
The sandwich
For the purposes of this example, a ham sandwich is made up of (a) a slice of white bread, (b) a slice of ham, and (c) a second slice of white bread.
The above pieces are loosely stacked together, but they are not necessarily symmetrical and may be arranged in any fashion.
The cut
The cut is made with a straight knife and is done in only one direction: that of the blade. In other words, the cut will be completely contained in a single plane.

Cutting a slice of bread in half

Start by putting your bread down on a plate. Now, put your knife at the right of the bread like so:

         XXXXXXXX                   +
        XX       XXXXX              |  <--- Knife
    XXXXX             XXXXXX        |
  XXX                      XX       |
  X                         XX      |
  X                          X      |
  X                          X      |
  X                          X      |
  X                          X      |
  X                         X       |
 XX                         XX      |
XX                           X      |
X                            X      |
X                            X      |
X                            X      |
X                            X      |
 X                           X      |
 XXX                         X      |
   XXXX     XXXXXXXXXXXXXXXXXX      |
       XXXXX                        |
                                    |
        ^                           |
        |                           +
        |
      Bread

It’s evident that 100% of the bread is “on the left side” of the knife3 and 0% is “on the right side”. Now, imagine “sliding” the knife in a horizontal fashion4 Until you end up at a position like this:

+                 XXXXXXXX
|                XX       XXXXX
|            XXXXX             XXXXXX
|          XXX                      XX
|          X                         XX
|          X                          X
|          X                          X
|          X                          X
|          X                          X
|          X                         X
|         XX                         XX
|        XX                           X
|        X                            X
|        X                            X
|        X                            X
|        X                            X
|         X                           X
|         XXX                         X
|           XXXX     XXXXXXXXXXXXXXXXXX
|               XXXXX
|
|                ^
+                |
                 |
               Bread

Now it’s evident that 100% of the bread is “on the right side” of the knife and 0% is “on the left”, the values have switched! It’s important to note that our knife movement was smooth,5 at no point did we make sudden changes while moving the knife.

So, if the values switched places and the change occurred smoothly, one could imagine that at some point during our movement the knife had exactly 50% bread on its left and 50% on its right.

Therefore, it’s possible to cut a single piece of bread with one and only one straight cut of the knife. What’s more, this argument works at any angle of the knife. You could imagine, for example, positioning the knife at roughly 45° like so:

         XXXXXXXX
        XX       XXXXX
    XXXXX             XXXXXX
  XXX                      XX
  X                         XX
  X                          X
  X                          X
  X                          X
  X                          X
  X                         X            \
 XX                         XX          /
XX                           X         /
X                            X        /
X                            X       /
X                            X      /
X                            X     /
 X                           X    /
 XXX                         X   /
   XXXX     XXXXXXXXXXXXXXXXXX  /
       XXXXX                   /
                              /
        ^                    /
        |                   /
        |                  /
      Bread               /
                         /
                        /
                       /
                      \

…and there’s still a way of cutting the bread in two halves. This is an important fact for the next step forward.


Cutting a slice of bread and some ham in half

Imagine stacking your ham over the bread in any way, not necessarily symmetrical, like so:


               OOOOOOOOOOOOOOOOOO
         XXOOOOOOOOOOOOOOOOOOOOOOOO
        XX OOOOOOOOOOOOOOOOOOOOOOOOO
    XXXXX  OOOOOOOOOOOOOOOOOOOOOOOOOO
  XXX      OOOOOOOOOOOOOOOOOOOOOOOOOO  <-- Slice of Ham
  X        OOOOOOOOOOOOOOOOOOOOOOOOOO
  X        OOOOOOOOOOOOOOOOOOOOOOOOOO
  X        OOOOOOOOOOOOOOOOOOOOOOOOOO
  X        OOOOOOOOOOOOOOOOOOOOOOOOOO
  X        OOOOOOOOOOOOOOOOOOOOOOOOOO
  X           OOOOOOOOOOOOOOOOOOOOOOO
 XX           OOOOOOOOOOOOOOOOOOOOOOO
XX               OOOOOOOOOOOOOOOOOO
X                  OOOOOOOOOOOOOOO
X                OOOOOOOOOOOOOOO
X                            X
X                            X
 X                           X
 XXX                         X
   XXXX     XXXXXXXXXXXXXXXXXX
       XXXXX

Now, position your knife in any way that slices the bread in half. From the point above, we know that such a position exists:6

                            |^| <---"Back" of the knife
                            |^|
                            |^|
                          OO|^|OOOOOOOOOOOOOOO
                    XXOOOOOO|^|OOOOOOOOOOOOOOOOO
                   XX OOOOOO|^|OOOOOOOOOOOOOOOOOO
               XXXXX  OOOOOO|^|OOOOOOOOOOOOOOOOOOO
             XXX      OOOOOO|^|OOOOOOOOOOOOOOOOOOO  <---Slice of Ham
             X        OOOOOO|^|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|^|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|^|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|^|OOOOOOOOOOOOOOOOOOO
   "Left"    X        OOOOOO|^|OOOOOOOOOOOOOOOOOOO      "Right"
             X           OOO|^|OOOOOOOOOOOOOOOOOOO
            XX           OOO|^|OOOOOOOOOOOOOOOOOOO
           XX               |^|OOOOOOOOOOOOOOOOO
           X                |^| OOOOOOOOOOOOOOO
           X                |^|OOOOOOOOOOOOOO
           X                |^|           X
           X                |^|           X
            X               |^|           X
            XXX             |^|           X
              XXXX     XXXXX|^|XXXXXXXXXXXX
                  XXXXX     |^|
                            |^|
                            |^|
                            |^|
                            |^| <---"Front" of the knife

There’s some portion of the ham to the left of the knife and some to the right, but just exactly how much, it’s unknown. It doesn’t matter. Now, as we saw above, we can cut the first slice in half at any angle we desire. This means that it’s possible to just rotate the knife at any angle while also cutting the bread in half.

After rotating the knife 180°, the position is now the following:

                            |v| <---"Back" of the knife
                            |v|
                            |v|
                          OO|v|OOOOOOOOOOOOOOO
                    XXOOOOOO|v|OOOOOOOOOOOOOOOOO
                   XX OOOOOO|v|OOOOOOOOOOOOOOOOOO
               XXXXX  OOOOOO|v|OOOOOOOOOOOOOOOOOOO
             XXX      OOOOOO|v|OOOOOOOOOOOOOOOOOOO  <---Slice of Ham
             X        OOOOOO|v|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|v|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|v|OOOOOOOOOOOOOOOOOOO
             X        OOOOOO|v|OOOOOOOOOOOOOOOOOOO
   "Right"   X        OOOOOO|v|OOOOOOOOOOOOOOOOOOO      "Left"
             X           OOO|v|OOOOOOOOOOOOOOOOOOO
            XX           OOO|v|OOOOOOOOOOOOOOOOOOO
           XX               |v|OOOOOOOOOOOOOOOOO
           X                |v| OOOOOOOOOOOOOOO
           X                |v|OOOOOOOOOOOOOO
           X                |v|           X
           X                |v|           X
            X               |v|           X
            XXX             |v|           X
              XXXX     XXXXX|v|XXXXXXXXXXXX
                  XXXXX     |v|
                            |v|
                            |v|
                            |v|
                            |v| <---"Front" of the knife

Now the knife is pointing at us.7 As we can see, there’s still some ham to the left and to the right of the knife, but they have switched places.

Just like last time, this change was smooth. So, at some point during our rotation there must have been a position that had exactly half of the ham on its left and half on its right. Since we were rotating the knife at all angles that cut the bread exactly in half, this cut divides both bread and ham in exactly half with only one cut.

Therefore, it’s possible to cut a single piece of bread and a slice of ham with one and only one straight cut of the knife.


Cutting a slice of bread, some ham and a second slice of bread in half

This is hard to draw in ASCII, so we’ll have to exercise our imagination a bit more. Say we put a second piece of bread on top of the badly constructed sandwich so far. Again, we will make a cut that divides the 1st slice of bread and the ham exactly in half:

                                +
                                |
                   @@@@@@       |
               @@@@@@@@@@@  @@  |
              @@@@@@@@@@@@@@@@@@|
             @@@@@@@@@@@@@@@@@@@|@OOOOOOOOOOOOOOO
              @@@@@@@@@@@@@@@@@@|@@@@OOOOOOOOOOOOOO
Also bread--->@@@@@@@@@@@@@@@@@@|@@@@@OOOOOOOOOOOOOO
              @@@@@@@@@@@@@@@@@@|@@@@@OOOOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@OOOOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@@@@OOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@@@@@OOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@@@@@OOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOOOOO
            @@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOOOO
            @@@@@@@@@@@@@@@@@@@@|@@@@@@@@@OOOOOO
             @@@@@@@@@@@@@@@@@@@|@@@@@@@@@   X
              X           @@@@@@|@@@@@@@@@   X
               X                |            X
               XXX              |            X
                 XXXX     XXXXX | XXXXXXXXXXXX
                     XXXXX      |
                                |
                                |<---Theoretically orientable
                                |    knife
                                +    ("up" side)

Astute readers may already see the pattern: some portion of the second slice of bread is on one side of the knife. Now, we rotate the knife along its “Front-Back” axis until the edge is pointing up like so:

                                +
                                .
                   @@@@@@       .
               @@@@@@@@@@@  @@  .
              @@@@@@@@@@@@@@@@@@.
             @@@@@@@@@@@@@@@@@@@.@OOOOOOOOOOOOOOO
              @@@@@@@@@@@@@@@@@@.@@@@OOOOOOOOOOOOOO
Also bread--->@@@@@@@@@@@@@@@@@@.@@@@@OOOOOOOOOOOOOO
              @@@@@@@@@@@@@@@@@@.@@@@@OOOOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@OOOOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@@@@OOOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@@@@@OOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@@@@@OOOOOOOOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOOOOO
            @@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOOO
           @@@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOOOO
            @@@@@@@@@@@@@@@@@@@@.@@@@@@@@@OOOOOO
             @@@@@@@@@@@@@@@@@@@.@@@@@@@@@   X
              X           @@@@@@.@@@@@@@@@   X
               X                .            X
               XXX              .            X
                 XXXX     XXXXX . XXXXXXXXXXXX
                     XXXXX      .
                                .
                                .<---Theoretically orientable
                                .    knife
                                +    ("down" side)

Just like before, when the edge is pointing up the values have been reversed while the rotation has been smooth. It stands to reason that at some point during this transition the volumes of the second slice of bread are equally divided by this cut.

It’s important to notice that this works because the first two steps (cutting a single slice of bread and cutting bread-plus-ham) can be done at any cutting angle, not necessarily one perpendicular to the plane of the cutting board.8

Therefore, it’s possible to cut a ham sandwich with one and only one straight cut of the knife.

Postface

The Ham Sandwich theorem (and this particular example) are true, but not constructive. In other words, they say that it’s possible to cut the sandwich in half with only one cut, but they don’t say how to find such a cut.

So please be mindful of your hungry, mathematically inclined guests: either make your sandwiches reasonably symmetrical (so that finding a solution is trivial) or make enough sandwiches for everyone so that no one has to share. The game theory approaches and results of this arrangement are left as an exercise to the reader.


A ReQuested writeup: «A writeup on a node that hasn’t been updated in 20 years »


  1. This is by no means a proof, merely an illustration.

  2. As seen on Numberphile right here.

  3. This is, of course, not a strict mathematical term, although one could be constructed owning to the fact that a knife has (presumably) only one handle and only one edge.

    Borrowing from common Rubik’s cube notations, one could rename, the knife imagining it as a right prism. Then one could label the handle as “front” and its opposite point the “back”. The edged side of the knife could be labeled as “down” and the dull side, “up”. In this fashion, there’s only one orientation in which “front” is facing us and “up” is facing upwards. The astute reader may have already guessed that in this orientation, the last two faces are labeled “right” and “left”. Which is which is left to the reader as an exercise.

  4. That is, its movement being perpendicular to the blade's plane.

  5. Continuous, to be more mathematical.

  6. In this diagram, the character ^ is be used to indicate the direction of the knife, particularly to distinguish between the "front" and "back" of the knife.

  7. Please remember that this is merely a thought experiment, please don't do this at home and never, ever point a knife at yourself or anybody else.

  8. I'm assuming, of course, that your cutting board is flat enough to approximate a plane.

Log in or register to write something here or to contact authors.