That's not contradiction, that's abuse!Soupspoon wrote:(Altogether now...) Oh no it isn't!!

Jose
Moderators: gmalivuk, Moderators General, Prelates
That's not contradiction, that's abuse!Soupspoon wrote:(Altogether now...) Oh no it isn't!!
Close. Maybe actually correct; I have to think about it.MathDoofus wrote:1. The proof works only if we assume that Oracle works for any program.
Devious contains (a copy of) the code for Oracle within it. Devious is essentially Oracle with its outputs reversed.MathDoofus wrote:But, somehow, the Devious-as-argument-to-Devious gets Oracle to run (I don't know how this happens).
ucim wrote:Close. Maybe actually correct; I have to think about it.MathDoofus wrote:1. The proof works only if we assume that Oracle works for any program.Spoiler:Devious contains (a copy of) the code for Oracle within it. Devious is essentially Oracle with its outputs reversed.MathDoofus wrote:But, somehow, the Devious-as-argument-to-Devious gets Oracle to run (I don't know how this happens).
We feed a copy of Devious to itself as input. Devious "asks" its built-in Oracle if this combination would halt. The built-in Oracle gives an answer, and then Devious does the opposite. Haha gotcha nyah nyah nyah!
Given Oracle, Devious could be constructed. But Devious implies that Oracle can fail. Therefore, it must be that Oracle can't exist.
Jose
Any program can be written to take arguments (initial input). Any program is also just made up of data: to wit, the statements that make it up. So, you can feed (A COPY OF) any program into Oracle, or to Devious. It's just data.MathDoofus wrote:how Devious takes Devious as its argument
That's a shorthand way of saying "Devious contains a copy of Oracle's routines, and it feeds the input into those routines to see what Oracle would have said". In this case the input is the copy of Devious. So, its copy of Oracle's routines analyse Devious and says that Devious would do foo. But it tells Devious because those routines are part of Devious. Now that Devious knows what the prediction of its action is, it goes ahead and does the opposite, proving that Oracle isn't a very good oracle.MathDoofus wrote:then runs Oracle on Devious.
It doesn't take Oracle "as an argument". It contains Oracle, like people contain hearts and livers.MathDoofus wrote:how is that Devious-as-argument itself get to take Oracle as an argument
ucim wrote:Any program can be written to take arguments (initial input). Any program is also just made up of data: to wit, the statements that make it up. So, you can feed (A COPY OF) any program into Oracle, or to Devious. It's just data.MathDoofus wrote:how Devious takes Devious as its argumentSpoiler:That's a shorthand way of saying "Devious contains a copy of Oracle's routines, and it feeds the input into those routines to see what Oracle would have said". In this case the input is the copy of Devious. So, its copy of Oracle's routines analyse Devious and says that Devious would do foo. But it tells Devious because those routines are part of Devious. Now that Devious knows what the prediction of its action is, it goes ahead and does the opposite, proving that Oracle isn't a very good oracle.MathDoofus wrote:then runs Oracle on Devious.It doesn't take Oracle "as an argument". It contains Oracle, like people contain hearts and livers.MathDoofus wrote:how is that Devious-as-argument itself get to take Oracle as an argument
Jose
Almost. Devious contains Oracle's code, so that it can feed its input (in this case a copy of Devious(which contains Oracle) to Oracle's code. It feeds Devious-as-argument to Oracle('s guts contained in Devious-as-program), gets the response Oracle would have given, and then (nyah nyah) does the opposite.MathDoofus wrote:So Devious, in order for my explanation to work, must (in addition to taking itself as an argument, which I'll call Devious-as-argument) contain a copy of Oracle's code so that it can--when it takes itself as an argument--feed Oracle to Devious-as-argument? Do I have that right?
ucim wrote:Almost. Devious contains Oracle's code, so that it can feed its input (in this case a copy of Devious(which contains Oracle) to Oracle's code. It feeds Devious-as-argument to Oracle('s guts contained in Devious-as-program), gets the response Oracle would have given, and then (nyah nyah) does the opposite.MathDoofus wrote:So Devious, in order for my explanation to work, must (in addition to taking itself as an argument, which I'll call Devious-as-argument) contain a copy of Oracle's code so that it can--when it takes itself as an argument--feed Oracle to Devious-as-argument? Do I have that right?
Jose
Users browsing this forum: No registered users and 9 guests