What does the Incompleteness Theorem imply?

Perhaps. It isn’t really a “debate” either (it’s merely a factual statement that some people would claim is false), and I’d hate to contaminate the boards more than these threads already have.

In any case, since even the relatively simple and straightforward claims of the OP have been so incredibly difficult to convince certain StraightDopers of, I’m not sure there’d be a point.

Ignoring the supposedly wise and knowledgeable Superfriends for the moment: what parts of my argument do you, erislover, disagree with?

Having watched this debate go on for a while, learning a lot but not fully understanding all the points herein, it appears that a standoff regarding whether a program and the hardware it runs on are equivalent.

Might I suggest we take a single XOR gate and begin from there?

Actually, this particular issue is more of a difference in terminology. I use program as an abstract term related to algorithm (it is the expression of an algorithm in a particular programming language). TVAA is apparently using it to mean: the pattern of bits on a particular machine.

I have no idea what word TVAA would use to describe a high-level, assembler, or machine language construct that would encode a functionally identical series of instructions on more than one machine. But I’m pretty sure that whatever word he chose he would use it poorly and then call others stupid for not agreeing with his usage.

First, I must not be misunderstood. The claim I made was that programs and computers are not distinguishable; the concepts are often useful when considered to be separate, but they aren’t truly separate.

A program that duplicates the properties of the computer is the computer, in the same way that the program can’t be said to exist without an embodiment. Things are what they do.

That’s why any UTM can emulate any other UTM: because all the emulating UTM needs to do is simulate the workings of the emulated UTM.

Consider the example of logic gates: all that’s required to generate the whole set of logic gates is the negation operation and either AND or OR. With those, everything else can be built.

From their outputs, can you distinguish between OR and a group of NOT and AND put together in the proper way? Can you distinguish between AND and a group of NOT and OR put together in the proper way?

Of course not. A group of NOT and AND put together in the proper way is an OR. A group of NOT and OR put together in the proper way is an AND.

That, of course, assumes that every program duplicates the properties of every computer, which is a pretty limited subset of the things we call programs. Then again, it has become quite clear that you much prefer to treat limited subsets as if they characterized the larger set.

No, stupid.

My statement does not require all programs to be able to emulate all computers.

What it means is that the conceptual categories of ‘program’ and ‘computer’ are not genuinely distinct.

Every program capable of running can be run on an unlimited number of computers, and every computer can be emulated by an unlimited number of programs. The question of whether any particular system is a “computer” or a “program” is entirely arbitrary: nothing is implied by one conclusion that isn’t implied by the other.

These two statements are not necessarily equivalent. The intersection of two infinitely large sets may be infinite without implying that the sets are identical.

For instance: infinitely many positive integers are even, and an infinite number of even numbers are positive integers. Nevertheless, the set of positive integers is distinct from the set of even numbers.

I suspect, though, that the real issue is that you map both “program” and “computer” to “Turing Machine”. If that is the case, then the two would be equivalent. The issue then becomes whether such a dual mapping is either “correct” or “useful”.

Moderator’s Note: TVAA, do not post personal insults in Great Debates. It’s against the rules, you know it’s against the rules, now cut it out.

Given that a program is a set of instructions, something needs to be instructed. That something is the “computer.” It doesn’t matter if the “computer” is another program or not. The running program necessarily has to treat it as if it were a computer. If we have a case where computer A is running UTM B which is running TM C, then for program C, the “computer” is B. For program B, the computer is A, and C is just data to be manipulated.

It’s quite obvious that computers sit idle without programs, and programs don’t execute without being in a computer. The fact that computers can be emulated by programs doesn’t change that, because the emulations have to also run on computers. Or on top of other emulations which are running on computers. Or on top of other emulations which are running on other emulations which are running on computers. Etc.

If, for any given set of executing programs, you trace up the “emulation chain” far enough, you’ll necessarily find the hardware (the “real” computer: that which is not being emulated).

Ah, there’s the issue: programs and computers are indistinguishable from each other from the point of view of a program. A program cannot ‘probe’ the computer it’s running on to see if it’s a real computer or another program emulating a computer (if the emulation is as precise as possible). But computers certainly can’t execute other hardware, and humans can easily tell the difference between hardware and software when looking into the systems from the outside.

Yes, MEBuckner.

[grumble]
We don’t need to go about comparing infinite sets, we just need to examine the meaning of “program” and “computer”.

If the behavior of the components of the computer can be described, it can be duplicated by an infinitely large number of programs. If the behavior can’t be described, there’s no way it can be considered a computer: there’s no set of relationships between input and output.

The suggestion that I’m claiming every program can emulate every computer, while not of a form that will raise a Moderator’s ire, is a significant insult to myself and my argument. It’s trivially obvious to show that isn’t the case: any arbitarily chosen program will not result in the same output as any arbitrarily chosen computer.

But you can’t find the “real” computer. That device can be considered to be the emulation of an arbitrary number of other computers.

What we can do is find the link in the computer-program chain that’s on our “level” of reality. That’s what we think of as real. It’s no more or less “real” than any other level of the chain…

So what?

It is also true that an arbitrarily large number of programs cannot emulate any compuer. When you say that “there is no difference between the two” you are placing arbitrary constraints upon those things we call “programs” or “algorithms”. It is not necessary that a program either accept external input or generate output.

The standard for “computer” is usually a bit different, though I don’t believe that you have offered your definition for either “program” or “computer” and I have learned that it is unwarranted to assume that you use terms in an expected way.

You have yet to demonstrate this claim. You have repeated it frequently, but that is not the same thing.

Likewise, this may be your favorite metaphysical model, but that does not mean it is so.

** Yuh huh. Just like a computer doesn’t need to generate external input or generate output, right SM?

I don’t know which is more pathetic… that SM doesn’t understand the definition of “computer” or that his arguments directly contradict the arguments made earlier in these threads.

Make up your mind, Spiritus. Does a computer need to either accept input or generate output? Does a program need to either accept input or generate output?

** And I’ve learned you can’t use the general definitions of words consistently. (Ah, but you think “consistently” allows for contradictions, so you’ll claim you are being consistent, right?)

Take the computer you suggest cannot be represent by a program. What is it doing? Describe its workings. We can now write a program to do exactly the same thing – all the program must do is carry out the same operations that we’ve described.

It’s not a difficult concept to grasp…

I never said that some computer could not be represented by a program. I have said two things:
[ul][li]Some programs do not represent any computer.[/li][li]“represent” does not mean “is indistinguishable from”.[/ul][/li]Those statements are not particularly controversial.

No. Please read my words again paying attention to the statement: The standard for “computer” is usually a bit different. You see, in English “different” does not mean “just like”.

I understand the word computer quite well. It can have different meaning in different contexts, but you have studiously avoided actually offering the working definition for computer that allows you to say it is entirely independent of a physical expression (though you have also talked about “crashing” computers with a hammer, so it really isn’t clear exactly what you mean by the word.)

Yes.
No.

This claim is pretty absurd from someone who is arguing that the general understanding of “computer” is indistinguishable from the general understanding of “program”.

Mathematical consistency can allow for inconcistency, depending upon the rules of inferencen that make up the grammar for teh system undee consideration.

It really doesn’t matter whether you find that to be “intuitive” or “logical” or “appropriate”, that is the definition of mathematical consistency.

Here’s a suggestion that I have actually made: you need to read more carefully. The things that you claim I say have little relationship to the things that I actually say.

I can think of a third option. What contradiction?

If I may run in and ask what may be a stupid question like a child interrupting a serious meeting of adults:

In this array of programs, surely at least one of them must be a computer? If they are all programs, nothing would run? Does this show that programs and computers are not equivalent?

**

[sigh]

“Represent” does not refer to empty symbolism. We’ve discussed this before: you have difficulty understanding that the the representation of the thing is the thing. Does a set of NOT and AND gates “represent” an OR, or “is” it an OR?

And you’re suggesting that programs are not algorithms? Strange… I seem to remember finding ways to force programs to enter infinite loops, preventing them from ever reaching an end state…

No, that’s nothing like crashing the program. Nothing at all.

And, of course, since a computer must be able to generate output as SM has said, giving the computer a program that doesn’t have any output (as SM has said is possible) makes it not a computer anymore. Not that the computer can be said to have crashed.

Huh.

** No, it’s independent of specific physical expressions. It’s not independent of physical expression, which is the whole point.

The hammer is the input that the program emulating the computer can’t handle.

** Not at all. They’re simply different ways of describing the same thing.

** We’ve had this argument before. First, you haven’t discussed “mathematical consistency”, you’ve discussed “consistency”. If you’re claiming “mathematical consistency” is a fundamentally different concept, you shouldn’t have removed ‘mathematical’ from the phrase. Secondly, you have yet to demonstrate a single cite that shows that is indeed what “mathematical consistency” can do. Every statement about consistency in mathematics I’ve been able to locate contradicts your claim.

It really doesn’t matter whether you find that to be “intuitive” or “logical” or “appropriate”, that is the definition of mathematical consistency.

The things you claim I say have virtually nothing to do with the things I actually say.

Remember all that fuss about whether a “computer” necessarily needs to be able to accept input or generate output? Remember all that fuss about Turing machines that only generated output?

Are those devices computers or not?

TVAA wrote:

Not at all. A program cannot read a symbol off a paper tape. It can read a simulated symbol off a simulated paper tape, but that is not “exactly the same thing” as reading an actual symbol off an actual paper tape.

To interact with what we usually define as “the real world,” programs require an interface to that reality, and hardware is that interface. The program may not know whether it’s reading an actual or simulated paper tape, but so what? That doesn’t make the simulation and the reality “exactly the same thing.”

I’m sure you might object that we all may be within a big simulation, and thus everything we think of as hardware is actually software, but that’s hardly logical or scientific, since the possibility can’t be tested. Might as well say we’re all thoughts in the mind of God, and that GIT implies that angels cannot take certain states. It’d make about as much sense.

Ceci n’est pas un message-board post.

** But the simulated symbol is an actual symbol.

** But the hardware is the program.

An actual computer can’t do anything with input if it doesn’t have a program. (Put another way, the program is whatever the computer does with the input.) The “program” is whatever the internal workings of the computer are set to do.

The devices we use for computation are reconfigurable, which is a large part of what makes them useful. But whenever we “run a program” on the computer, we’re really rearranging the components to produce a new computational system. That’s why ‘computer’ and ‘program’ aren’t formal terms, and why terms like “finite state machine” are used instead. A finite state machine is both computer and program.

A truly inconsistent set of instructions wont’ be able to emulate a computer; Spiritus is right about that. He’s wrong in that such a set is NOT a program.

** It’s not a possibility, it’s a fact. If I said that there’s no difference between pie a la mode with ice cream on top of the pie or pie beneath the ice cream, would you say that’s not scientific?

Logically, the hardware and the software are equivalent. The only “proof” needed is logical proof. The question then becomes whether the world we see if sufficiently powerful, and it certainly is.

** We are all thoughts in the mind of God.

Ceci n’est pas un message-board post. **
[/QUOTE]