# 22C:096 Computation, Information, and Description

Department of Computer Science
The University of Iowa

## Survey of Mathematical and Logical Principles

I promised not to require you to prove mathematical theorems in this course. For the most part, we will discuss the meaning and impact of mathematical results, trusting in the assurances of honest mathematicians that they are true. But, some mathematical results are best understood through the basic structure of the reasoning by which they are established. I will limit the form of mathematical reasoning that we study for this purpose to two simple principles, one called the pigeonhole principle from time immemorial, and the other called the self-incrimination principle since today.

### The Pigeonhole Principle

If we have more pigeons than holes, and we try to put each pigeon into its own hole, then something always goes wrong.
This absurdly simple observation is at the crux of many important mathematical arguments. There are two simple variations in the "something" that goes wrong. In some cases, we have small holes, and can only fit one pigeon in each. In these cases, we are stuck with one or more homeless pigeons, who have no hole in which to nest. In other cases, we have larger holes, and force each pigeon into some hole. Then, we end up with at least one crowded hole housing at least two pigeons. This may or may not be agreeable to the pigeons, depending on their degree of mutual affection. In arguments using the pigeonhole principle, we do not concern ourselves with the happiness of the pigeons, but only with the fact that they fail to end up each alone in its private hole.

In order to understand an argument using the pigeonhole principle, ask the following questions. Ask them first to yourself, and then out loud to others.

1. What mathematical objects are the "pigeons"?
2. What mathematical objects are the "pigeonholes"?
3. What does it mean for a pigeon to inhabit a hole?
4. How do we know that there are more pigeons than holes?
5. What happens to the extra pigeons: do we leave them homeless, or do we crowd them into shared holes?
6. What is the mathematical meaning of homelessness or crowding?

For example, my daughter was in a 3rd grade class with 21 students. If each one had a birthday party, and invited all of the other students in the class, then there must be at least one month with more than one birthday party. Here, the pigeons are the birthday parties; the pigeonholes are the months in the year; a party inhabits a month if it is scheduled to occur during that month; we know that there are more parties than months by direct counting; since every party is scheduled for some month, we get one or more crowded months; the meaning of crowding is multiple parties in a single month (leading to too much present shopping and chaufferring by parents).

It's really that simple. The strange thing is, when the pigeons and pigeonholes are less familiar objects, and the notion of inhabitation is more technical, it doesn't sound so obvious. Sometimes the counting requires a bit of computation, too.

### The Self-Incrimination Principle

There is something wrong with a person who says something bad about himself.
Can this really be a principle of logic? If the self-incriminator is telling the truth, then he is bad in exactly the way that he describes. If he is lying, then he is a liar, which is also bad.

Self-incriminating statements lead to those strange assertions called "antinomies": assertions that contradict themselves. Many antinomies are improperly called "paradoxes." A paradox is something that appears to be wrong, but can be understood properly with additional insight (example needed here), while an antinomy is inherently troubling, no matter how well we understand it.

There is a nice example of ``a paradox, a paradox, a most ingenious paradox'' in The Pirates of Penzance by William S. Gilbert and Sir Arthur Sullivan. Frederic is 21 years old, but has only reached his 5th birthday. He was born on 29 February, so his birthday only occurs every 4 years. There's no contradiction here, but there was a great inconvenience for Frederic, since he was indentured to be a pirate until his 21st birthday.

The most famous self-incriminating antinomy is known as "the liar paradox," or "Epimenides' paradox." Suppose somebody says, "I am lying." Yeah. To make logic seem more objective, it's a good idea to remove the personality of the liar, and consider merely the sentence, "This sentence is false." Sure. If this were a traditional textbook, I would be obligated to write some nonsense here purporting to explain things more fully. Right.

To use the self-incrimination principle in a sensible argument, we reduce the seriousness of the offense to something that we can afford to punish. For example, "This sentence is pretty silly." Well, it sure is. Unless it's false. Trust me, there will be some interesting cases of the self-incrimination principle, too.

A final principle: Trust me, never trust someone who says, "Trust me." The self-incrimination principle will become interesting when we find that many mathematical systems are capable, in effect, of expressing the assertion, "This sentence cannot be proved." The tricky part is how "in effect" to express the self-disproving assertion, using a mathematical language that has no explicit way of referring to its own assertions and proofs.

The self-incrimination principle can apply to programs that are allowed to read their own code. The tricky part is that most programming languages have no explicit command for a program to read its own code, but we can still write programs that behave just as if they read their own code. This bizarre fact about programs is called the Recursion Theorem. At this point you probably don't understand what it means. We will spend at least one lecture discussing the meaning of the Recursion Theorem. The proof of the Recursion Theorem normally covers several pages with opaque formulae. We'll watch the movie version.