On 7/11/2024 2:20 AM, Fred. Zwarts wrote:
Op 10.jul.2024 om 20:58 schreef olcott:
On 7/10/2024 1:55 PM, Alan Mackenzie wrote:
Fred. Zwarts <F.Zwarts@hetnet.nl> wrote:
Op 10.jul.2024 om 20:12 schreef Alan Mackenzie:
[ Followup-To: set ]
In comp.theory Fred. Zwarts <F.Zwarts@hetnet.nl> wrote:
[ .... ]
Proving that the simulation is incorrect. Because a correct
simulation
would not abort a halting program halfway its simulation.
Just for clarity, a correct simulation wouldn't abort a non-halting >>>>>> program either, would it? Or have I misunderstood this correctness? >>>>
[ .... ]
A non-halting program cannot be simulated correctly in a finite time. >>>>> So, it depends whether we can call it a correct simulation, when it
does
not abort. But, for some meaning of 'correct', indeed, a simulator
should not abort a non-halting program either.
OK, thanks!
In other words he is saying that when you do
1 step correctly you did 0 steps correctly.
That is not what I said.
What you said logically entails that a correct simulation
of 1 step counts as a correct simulation of 0 steps.
What I said is that if a program needs two steps for a simulation, it
is incorrect to simulate only one step and then abort and report it
will never halt.
English seems to be a difficult language for you.
I am talking about the correct simulation of N steps and you
are trying to get away with saying there is no such thing
as the correct simulation of N steps. That is either terribly
confused or dishonest, yet incorrect either way.
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
No DDD instance of each HHH/DDD pair ever reaches past its
own machine address of 0000216b and halts.
Thus each HHH element of the above infinite set of HHH/DDD
pairs is necessarily correct to reject its DDD as non-halting.
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity
steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input
does
not specify a behaviour and the question whether DDD halts is ill-posed.
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
On 7/15/2024 3:17 AM, Mikko wrote:Therefore it doesn't need to be aborted.
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We don't care about whether HHH halts. We know that HHH halts or failsDDD is the exact same fixed constant finite string that always callsWhen we examine the infinite set of every HHH/DDD pair such that:You should use the indices here, too, e.g., "where 1 to infinity
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
steps of DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>
HHH at the same fixed constant machine address.
If the function called by DDD is not part of the input then the input
does not specify a behaviour and the question whether DDD halts is
ill-posed.
to meet its design spec.
We are only seeing if DDD correctly emulated by HHH can can possiblyWhich it can, since it only calls a halting HHH.
reach its own final state.
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the
semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that:
HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity steps of >>>> DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does >> not specify a behaviour and the question whether DDD halts is ill-posed.
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>> semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity
steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the
input does
not specify a behaviour and the question whether DDD halts is
ill-posed.
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate
DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
Only because DDD calls HHH(DDD) in recursive emulation it is
impossible for DDD correctly emulated by HHH to reach past
its own machine address of 0000216b.
But we can see more, in particuar that DDD() halts
if HHH(DDD) does.
In the exact same way that we can see that we are no longer
hungry after we have eaten. It is still a fact that HHH(DDD)
was required to abort its emulation in the exact same way
that it was required for us to eat to no longer be hungry.
Anyway, if the function DDD calls is not a part of the input then the
question whether DDD halts is not well-posed and can only be ansered
with a conditional.
We are analyzing whether or not DDD halts.
We are NOT analyzing whether or not HHH halts.
On 7/16/2024 2:57 AM, Mikko wrote:You have been saying for a while that HHH returns what it would report
On 2024-07-15 13:43:34 +0000, olcott said:No. HHH is not judging whether or not itself is a correct emulator. The semantics of the x86 instructions that emulates prove that its emulation
On 7/15/2024 3:17 AM, Mikko wrote:HHH does not see even that. It only sees whther that it does not
On 2024-07-14 14:50:47 +0000, olcott said:We don't care about whether HHH halts. We know that HHH halts or fails
On 7/14/2024 5:09 AM, Mikko wrote:If the function called by DDD is not part of the input then the input
On 2024-07-12 14:56:05 +0000, olcott said:DDD is the exact same fixed constant finite string that always calls >>>>> HHH at the same fixed constant machine address.
We stipulate that the only measure of a correct emulation is the >>>>>>> semantics of the x86 programming language.
When N steps of DDD are emulated by HHH according to the semantics >>>>>>> of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair where 1 >>>>>>> to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity
steps of DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>
does not specify a behaviour and the question whether DDD halts is
ill-posed.
to meet its design spec.
We are only seeing if DDD correctly emulated by HHH can can possibly
reach its own final state.
emulate DDD to its final state.
is correct.
Only because DDD calls HHH(DDD) in recursive emulation it is impossibleIt is not impossible. The simulated HHH aborts just the same and returns
for DDD correctly emulated by HHH to reach past its own machine address
of 0000216b.
Just no.But we can see more, in particuar that DDD() halts if HHH(DDD) does.It is still a fact that HHH(DDD) was required to abort its emulation.
Whether DDD halts depends entirely on HHH, because DDD does nothingAnyway, if the function DDD calls is not a part of the input then theWe are analyzing whether or not DDD halts.
question whether DDD halts is not well-posed and can only be ansered
with a conditional.
We are NOT analyzing whether or not HHH halts.
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>> semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does >>>> not specify a behaviour and the question whether DDD halts is ill-posed. >>>>
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate
DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
Am Tue, 16 Jul 2024 13:18:07 -0500 schrieb olcott:
On 7/16/2024 2:57 AM, Mikko wrote:You have been saying for a while that HHH returns what it would report
On 2024-07-15 13:43:34 +0000, olcott said:No. HHH is not judging whether or not itself is a correct emulator. The
On 7/15/2024 3:17 AM, Mikko wrote:HHH does not see even that. It only sees whther that it does not
On 2024-07-14 14:50:47 +0000, olcott said:We don't care about whether HHH halts. We know that HHH halts or fails >>>> to meet its design spec.
On 7/14/2024 5:09 AM, Mikko wrote:If the function called by DDD is not part of the input then the input >>>>> does not specify a behaviour and the question whether DDD halts is
On 2024-07-12 14:56:05 +0000, olcott said:DDD is the exact same fixed constant finite string that always calls >>>>>> HHH at the same fixed constant machine address.
We stipulate that the only measure of a correct emulation is the >>>>>>>> semantics of the x86 programming language.
When N steps of DDD are emulated by HHH according to the semantics >>>>>>>> of the x86 language then N steps are emulated correctly.
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair where 1 >>>>>>>> to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity >>>>>>> steps of DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>>
ill-posed.
We are only seeing if DDD correctly emulated by HHH can can possibly
reach its own final state.
emulate DDD to its final state.
semantics of the x86 instructions that emulates prove that its emulation
is correct.
on its input DDD. Glad to see you come around.
Only because DDD calls HHH(DDD) in recursive emulation it is impossibleIt is not impossible. The simulated HHH aborts just the same and returns
for DDD correctly emulated by HHH to reach past its own machine address
of 0000216b.
to DDD.
Just no.But we can see more, in particuar that DDD() halts if HHH(DDD) does.It is still a fact that HHH(DDD) was required to abort its emulation.
Whether DDD halts depends entirely on HHH, because DDD does nothingAnyway, if the function DDD calls is not a part of the input then theWe are analyzing whether or not DDD halts.
question whether DDD halts is not well-posed and can only be ansered
with a conditional.
We are NOT analyzing whether or not HHH halts.
else but call it.
On 7/17/2024 1:52 AM, Mikko wrote:
On 2024-07-16 18:18:07 +0000, olcott said:
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>>>> semantics of the x86 programming language.You should use the indices here, too, e.g., "where 1 to infinity steps of
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH. >>>>>>>>
DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>>>
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does
not specify a behaviour and the question whether DDD halts is ill-posed. >>>>>>
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate >>>> DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
The semantics does not prove. Only a proof would prove.
Nothing besides the semantics of English proves that
a kitten is not any type of 15 story office building.
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>> semantics of the x86 programming language.
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH.
You should use the indices here, too, e.g., "where 1 to infinity steps of
DDD₁ are correctly emulated by HHH₃" or whatever you mean.
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does >>>> not specify a behaviour and the question whether DDD halts is ill-posed. >>>>
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate
DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
On 7/31/2024 2:36 AM, Mikko wrote:"HHH is correct when it gives the result it gives" lol
On 2024-07-16 18:18:07 +0000, olcott said:
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
No. HHH is not judging whether or not itself is a correct emulator.HHH does not see even that. It only sees whther that it does notIf the function called by DDD is not part of the input then theWe don't care about whether HHH halts. We know that HHH halts or
input does not specify a behaviour and the question whether DDD
halts is ill-posed.
fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH can can possibly >>>>> reach its own final state.
emulate DDD to its final state.
Not the case here: as Mike pointed out, we are dealing with simulation,*Infinite recursion behavior pattern*The semantics of the x86 instructions that emulates prove that itsSemantics of x86 language alone doesn't prove anything. Only a detailed
emulation is correct.
comparison of the emulator code to the x86 semantics may prove that.
An emulated sequence of instructions that has no conditional branch instructions in this sequence is exactly repeated when it calls the same function with the same parameters again.
HHH continues to emulate DDD until DDD halts* or DDD proves that it mustIf HHH is a decider, it halts, returning to DDD.
be aborted. This proves that no emulated HHH can possibly return to any emulated DDD, thus DDD never *halts.
On 7/31/2024 2:36 AM, Mikko wrote:
On 2024-07-16 18:18:07 +0000, olcott said:
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>>>> semantics of the x86 programming language.You should use the indices here, too, e.g., "where 1 to infinity steps of
_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]
When N steps of DDD are emulated by HHH according to the
semantics of the x86 language then N steps are emulated correctly. >>>>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH.
...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair
where 1 to infinity steps of DDD are correctly emulated by HHH. >>>>>>>>
DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>>>
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does
not specify a behaviour and the question whether DDD halts is ill-posed. >>>>>>
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate >>>> DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
Semantics of x86 language alone doesn't prove anything. Only a detailed
comparison of the emulator code to the x86 semantics may prove that.
A proof is any sequence of steps such that the conclusion
is a necessary consequence of its basis.
Proving that DDD correctly emulated by HHH matches the
infinite recursion behavior pattern.
(a) The semantics of the x86 language.
(b) the design of HHH provided below.
(c) The definition of infinite recursion provided below.
*Infinite recursion behavior pattern*
An emulated sequence of instructions that has no conditional
branch instructions in this sequence is exactly repeated when
it calls the same function with the same parameters again.
As long as the called function can be determined to never
return this proves infinite recursion.
On 8/1/2024 2:49 AM, Mikko wrote:
On 2024-07-31 17:28:38 +0000, olcott said:
On 7/31/2024 2:36 AM, Mikko wrote:
On 2024-07-16 18:18:07 +0000, olcott said:
On 7/16/2024 2:57 AM, Mikko wrote:
On 2024-07-15 13:43:34 +0000, olcott said:
On 7/15/2024 3:17 AM, Mikko wrote:
On 2024-07-14 14:50:47 +0000, olcott said:
On 7/14/2024 5:09 AM, Mikko wrote:
On 2024-07-12 14:56:05 +0000, olcott said:
We stipulate that the only measure of a correct emulation is the >>>>>>>>>>> semantics of the x86 programming language.You should use the indices here, too, e.g., "where 1 to infinity steps of
_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]
When N steps of DDD are emulated by HHH according to the >>>>>>>>>>> semantics of the x86 language then N steps are emulated correctly. >>>>>>>>>>>
When we examine the infinite set of every HHH/DDD pair such that: >>>>>>>>>>> HHH₁ one step of DDD is correctly emulated by HHH.
HHH₂ two steps of DDD are correctly emulated by HHH.
HHH₃ three steps of DDD are correctly emulated by HHH. >>>>>>>>>>> ...
HHH∞ The emulation of DDD by HHH never stops running.
The above specifies the infinite set of every HHH/DDD pair >>>>>>>>>>> where 1 to infinity steps of DDD are correctly emulated by HHH. >>>>>>>>>>
DDD₁ are correctly emulated by HHH₃" or whatever you mean. >>>>>>>>>>
DDD is the exact same fixed constant finite string that
always calls HHH at the same fixed constant machine
address.
If the function called by DDD is not part of the input then the input does
not specify a behaviour and the question whether DDD halts is ill-posed.
We don't care about whether HHH halts. We know that
HHH halts or fails to meet its design spec.
We are only seeing if DDD correctly emulated by HHH
can can possibly reach its own final state.
HHH does not see even that. It only sees whther that it does not emulate >>>>>> DDD to its final state.
No. HHH is not judging whether or not itself is a correct
emulator. The semantics of the x86 instructions that emulates
prove that its emulation is correct.
Semantics of x86 language alone doesn't prove anything. Only a detailed >>>> comparison of the emulator code to the x86 semantics may prove that.
A proof is any sequence of steps such that the conclusion
is a necessary consequence of its basis.
Only if every "step" is a sentence.
Not at all.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 486 |
Nodes: | 16 (2 / 14) |
Uptime: | 139:22:44 |
Calls: | 9,657 |
Calls today: | 5 |
Files: | 13,708 |
Messages: | 6,167,329 |