Infinite Cantor Crankery

I recently got yet another email from a Cantor crank.

Sadly, it’s not a particularly interesting letter. It contains an argument that I’ve seen more times than I can count. But I realized that I don’t think I’ve ever written about this particular boneheaded nonsense!

I’m going to paraphrase the argument: the original is written in broken english and is hard to follow.

  • Cantor’s diagonalization creates a magical number (“Cantor’s number”) based on an infinitely long table.
  • Each digit of Cantor’s number is taken from one row of the table: the Nth digit is produced by the Nth row of the table.
  • This means that the Nth digit only exists after processing N rows of the table.
  • Suppose it takes time t to get the value of a digit from a row of the table.
  • Therefore, for any natural number N, it takes N*t time to get the first N digits of Cantor’s number.
  • Any finite prefix of Cantor’s number is a rational number, which is clearly in the table.
  • The full Cantor’s number doesn’t exist until an infinite number of steps has been completed, at time &infinity;*t.
  • Therefore Cantor’s number never exists. Only finite prefixes of it exist, and they are all rational numbers.

The problem with this is quite simple: Cantor’s proof doesn’t create a number; it identifies a number.

It might take an infinite amount of time to figure out which number we’re talking about – but that doesn’t matter. The number, like all numbers, exists, independent of
our ability to compute it. Once you accept the rules of real numbers as a mathematical framework, then all of the numbers, every possible one, whether we can identify it, or describe it, or write it down – they all exist. What a mechanism like Cantor’s diagonalization does is just give us a way of identifying a particular number that we’re interested in. But that number exists, whether we describe it or identify it.

The easiest way to show the problem here is to think of other irrational numbers. No irrational number can ever be written down completely. We know that there’s got to be some number which, multiplied by itself, equals 2. But we can’t actually write down all of the digits of that number. We can write down progressively better approximations, but we’ll never actually write the square root of two. By the argument above against Cantor’s number, we can show that the square root of two doesn’t exist. If we need to create the number by writing down all af its digits,s then the square root of two will never get created! Nor will any other irrational number. If you insist on writing numbers down in decimal form, then neither will many fractions. But in math, we don’t create numbers: we describe numbers that already exist.

But we could weasel around that, and create an alternative formulation of mathematics in which all numbers must be writeable in some finite form. We wouldn’t need to say that we can create numbers, but we could constrain our definitions to get rid of the nasty numbers that make things confusing. We could make a reasonable argument that those problematic real numbers don’t really exist – that they’re an artifact of a flaw in our logical definition of real numbers. (In fact, some mathematicians like Greg Chaitin have actually made that argument semi-seriously.)

By doing that, irrational numbers could be defined out of existence, because they
can’t be written down. In essence, that’s what my correspondant is proposing: that the definition of real numbers is broken, and that the problem with Cantor’s proof is that it’s based on that faulty definition. (I don’t think that he’d agree that that’s what he’s arguing – but either numbers exist that can’t be written in a finite amount of time, or they don’t. If they do, then his argument is worthless.)

You certainly can argue that the only numbers that should exist are numbers that can be written down. If you do that, there are two main paths. There’s the theory of computable numbers (which allows you to keep π and the square roots), and there’s the theory of rational numbers (which discards everything that can’t be written as a finite fraction). There are interesting theories that build on either of those two approaches. In both, Cantor’s argument doesn’t apply, because in both, you’ve restricted the set of numbers to be a countable set.

But that doesn’t say anything about the theory of real numbers, which is what Cantor’s proof is talking about. In the real numbers, numbers that can’t be written down in any form do exist. Numbers like the number produced by Cantor’s diagonalization definitely do. The infinite time argument is a load of rubbish because it’s based on the faulty concept that Cantor’s number doesn’t exist until we create it.

The interesting thing about this argument to be, is its selectivity. To my correspondant, the existence of an infinitely long table isn’t a problem. He doesn’t think that there’s anything wrong with the idea of an infinite process creating an infinite table containing a mapping between the natural numbers and the real numbers. He just has a problem with the infinite process of traversing that table. Which is really pretty silly when you think about it.

Recipe: Sous Vide Braised Pork Belly with Chevre Polenta

IMG_20130701_182032
I really outdid myself with tonight’s dinner. It was a total ad-lib – not recipe written in advance, just randomly trying to make something good. It turned out so good that I need to write down what I did, so that I can make it again!

Part 1: the pork

  • 2 1/2 pounds pork belly. I’m picky about pork; if I’m going to eat it, I want it to be good. I didn’t grow up eating pork. My family didn’t keep kosher, but we didn’t bring pork into the house. To this day, I don’t like most pork. Grocery store pork is, typically, bland, greasy, and generally nasty stuff. But the first real pork that I ate was at Momofuku in Manhattan. It was Berkshire pork, from a farm in upstate NY. That was delicious. Since then I’ve experimented, and I really think that nothing compares to fresh Berkshire. It costs a lot more than grocery store pork, but it’s worth it. I order it direct from Flying Pig Farm.
  • 4 cloves garlic.
  • 1 teaspoon salt.
  • 1 1/2 teaspoons fennel pollen.
  • 1 teaspoon dried rosemary.
  • 1 tablespoons olive oil.
  • pepper
  • 1/4 cup salt.
  • 1/4 cup sugar.
  1. Prepare the pork belly: trim off the skin, and any egregiously extra fat from the skin side.
  2. Put the garlic, fennel pollen, rosemary, 1 teaspoon of salt, and the olive oil into a mortar and pestle, and crush them to a paste.
  3. Coat the pork with the herb paste.
  4. Add fresh-ground black pepper to the pork.
  5. Mix together 1/4 cup each of sugar and salt, and coat the pork with it.
  6. Put the pork into the fridge overnight.
  7. In the morning, remove the pork from the fridge, and discard any liquids that were drawn out by the salt.
  8. Sealed the pork in a sous vide bag, and cook at 190 degrees for
    5 hours. (If you don’t have a sous vide machine, you could probably
    do it covered in a 200 degree oven. You’ll probably want to add a bit
    of water.)
  9. Take out the pork, and separate the meat from the liquid that’s collected in the bags. (Do NOT discard it; that’s pure flavor!) Put
    both into the fridge for a couple of hours to cool.
  10. When it’s cool, the fat that rendered out of the pork will have solidifed – remove it, and discard it. (Or keep it for something else.)
  11. Cut the pork into 2 inch thick chunks.
  12. In a smoking hot cast iron pan, brown the pork chunks on all sides.
  13. Add in the reserved liquids, along with 1/4 cup of port wine.
    Reduce until it forms a glaze over the pork. Remove the pork to a
    plate – it’s done!

Part 2: the Polenta

  • 1 cup polenta. I use very coarse polenta – I like my polenta to have some texture. (My friend Anoop teases me, insisting that I’m making grits.)
  • 4 cups chicken stock.
  • 1 cup water.
  • 1 teaspoon salt.
  • 1 tablespoon butter.
  • 2 ounces chevre goat cheese.
  1. Put the salt, water, and chicken stock into a pan, and bring to a boil.
  2. Reduce the heat to medium low, and stir in the polenta.
  3. Cook the polenta on medium low to low heat for 1 1/2 hours.
  4. Remove from heat, add in the butter, and stir until it’s all melted and blended in.
  5. crumble the goat cheese in, and stir it in.

Part 3: the assembly.

  1. Put a big pile of the polenta in the middle of a plate.
  2. Put a couple of chunks of the glazed pork onto the polenta.
  3. Put sauteed asparagus around the outside.