A machine has a set of configurations, each encoded by a string. The set of all configurations of a machine M can be infinite. The configuration contains the current state of the machine, the contents of all devices, and the remaining unread input. Some of the configurations of a machine M are start configurations. Some of the configurations of a machine M are halt configurations. There is a relation on configurations of machine M called "yields" or "yields in one step." Each configuration can yield only finitely many other configurations. The relation "yields" is easily computable. A computation of a machine M is a sequence of configurations of M, x_0, ... x_N, such that x_0 is a start configuration of M, x_N is a halt configuration of M, and x_i yields x_{i+1} for all i. A machine is said to be deterministic if each configuration yields at most one other configuration. Some textbooks require that each configuration of a deterministic machine, other than a halt configuration, yield exactly one configuration. This condition is not essentially different from the condition that it yield at most one. 1. Can a machine have a memory device that stores an arbitrary integer? YES. 2. Can a finite-state machine have a memory device that stores an arbitrary integer? NO. 3. Can a machine have a memory device that stores an arbitrary real number? NO. A machine, as defined in this class, is what is sometimes called an "abstract machine." The computer on your desk is a "physical machine." If any physical machine can do a computation, there is an abstract machine that can do that computation. If any human being to do a computation, using reason alone, then there is an abstract machine that can do that computation. There are questions that cannot be answered by using reason alone. An example of such a question is, "Does this program halt?" Of course, in some cases, the answer can be reasoned to be yes, and in other cases, it can be reasoned to be no. But there are some cases where no amount of reasoning will give the correct answer. Of course, in one of those cases, you could guess the answer, and you might be right. But you could not be sure that your answer is correct. Georg Cantor spent many years trying to prove or disprove the Continuum Hypothesis, which he formulated in 1877. He died in frustration without doing either. In 1940, Kurt Goedel proved that the Continuum Hypothesis cannot be disproved. In 1963, Paul Cohen proved that the Continuum Hypothesis cannot be proved, either. Thus, Cantor's task was hopeless.