Sujet : Re: Who here understands that the last paragraph is Necessarily true?
De : mikko.levanto (at) *nospam* iki.fi (Mikko)
Groupes : comp.theoryDate : 22. Jul 2024, 13:19:15
Autres entêtes
Organisation : -
Message-ID : <v7lf7j$kelj$1@dont-email.me>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13
User-Agent : Unison/2.2
On 2024-07-20 14:49:28 +0000, olcott said:
On 7/20/2024 4:30 AM, Mikko wrote:
On 2024-07-19 14:46:19 +0000, olcott said:
On 7/19/2024 4:07 AM, Mikko wrote:
On 2024-07-17 13:30:07 +0000, olcott said:
On 7/17/2024 2:49 AM, Mikko wrote:
On 2024-07-16 14:20:09 +0000, olcott said:
On 7/16/2024 3:32 AM, Mikko wrote:
On 2024-07-15 13:26:22 +0000, olcott said:
On 7/15/2024 3:23 AM, Mikko wrote:
On 2024-07-14 14:38:31 +0000, olcott said:
On 7/14/2024 3:09 AM, Mikko wrote:
On 2024-07-13 20:15:56 +0000, olcott said:
typedef void (*ptr)();
int HHH(ptr P);
void Infinite_Loop()
{
HERE: goto HERE;
}
void Infinite_Recursion()
{
Infinite_Recursion();
}
void DDD()
{
HHH(DDD);
}
int main()
{
HHH(Infinite_Loop);
HHH(Infinite_Recursion);
HHH(DDD);
}
Any input that must be aborted to prevent the non
termination of HHH necessarily specifies non-halting
behavior or it would never need to be aborted.
Everyone understands that DDD specifies a halting behaviour if HHH(DDD) does,
*You can comprehend this is a truism or fail to*
*comprehend it disagreement is necessarily incorrect*
Any input that must be aborted to prevent the non
termination of HHH necessarily specifies non-halting
behavior or it would never need to be aborted.
Disagreeing with the above is analogous to disagreeing
with arithmetic.
That the input is aborted does not mean that the input must be aborted.
Weasel words. This is an axiom:
Input XXX must be aborted to prevent the non-termination of HHH.
That is not an acceptable axiom. That you are unable to prove that
either XXX is aborted or HHH does not terminate is insufficient
reason to call it an axiom.
*Premise* (assumed to be true)
Any input that must be aborted to prevent
the non termination of HHH
*Logically entailed by the above premise*
necessarily specifies non-halting behavior or
it would never need to be aborted.
No, it is not. Both "need to be" and "must be" are different from "is".
The correct asxiom is "If the program can be executed to its halting in
a finite time then the program specifies a halting behaviour."
From the fact that XXX must be aborted we can conclude that XXX must be aborted.
Nothing that contains the word "must" is a fact.
When simulated input X stops running {if and only if}
the simulation of this input X has been aborted this
necessitates that input X specifies non-halting behavior.
Nothing that contains the word "necessitates" is a fact, either.
Perhaps you should learn some philosophy.
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
DDD emulated by HHH according to the semantic meaning of
its x86 instructions never stops running unless aborted.
That Professor Sipser does not express any agreement with anything
about the syntax of facts is not relevant to our (or any) discussion
about syntax of facts.
void DDD()
{
HHH(DDD);
}
int main()
{
DDD();
}
<MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
If simulating halt decider H correctly simulates its input D
until H correctly determines that its simulated D would never
stop running unless aborted then
H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.
</MIT Professor Sipser agreed to ONLY these verbatim words 10/13/2022>
int main { DDD(); } calls HHH(DDD) that must abort the
emulation of its input or HHH, emulated DDD and executed DDD
never stop running.
If HHH can detect that a part of the code to be emulated ie HHH itself it
may skip the emulation of itself and continue from the return. The knowledge
that HHH always terminates can be coded in HHH. Therefore the abortion is
not necessary.
In other words you are suggesting that HHH lies and
makes pretend that recursive emulation does not exist.
You are the one that lies. The varant of HHH mentioned above does not
say anything about any recusive emulation. It says "yes".
_DDD()
[00002163] 55 push ebp ; housekeeping
[00002164] 8bec mov ebp,esp ; housekeeping
[00002166] 6863210000 push 00002163 ; push DDD
[0000216b] e853f4ffff call 000015c3 ; call HHH(DDD)
[00002170] 83c404 add esp,+04
[00002173] 5d pop ebp
[00002174] c3 ret
Size in bytes:(0018) [00002174]
-- Mikko