Liste des Groupes | Revenir à theory |
On 10/16/2024 1:33 AM, joes wrote:Nothing in the definition actually requires the "pure function" to return, it just must always not return every time it is given identical arguements.Am Tue, 15 Oct 2024 16:51:15 -0500 schrieb olcott:On 10/15/2024 4:24 PM, joes wrote:Am Tue, 15 Oct 2024 15:01:36 -0500 schrieb olcott:https://github.com/plolcott/x86utm Halt7.c was updated last month.On 10/15/2024 2:33 PM, joes wrote:I don't follow your repo. Can you point me to the relevant commit?Am Tue, 15 Oct 2024 13:25:36 -0500 schrieb olcott:There is some code that was obsolete several years ago.On 10/15/2024 10:17 AM, joes wrote:>Am Tue, 15 Oct 2024 08:11:30 -0500 schrieb olcott:On 10/15/2024 6:35 AM, Richard Damon wrote:On 10/14/24 10:13 PM, olcott wrote:On 10/14/2024 6:50 PM, Richard Damon wrote:On 10/14/24 11:18 AM, olcott wrote:On 10/14/2024 7:06 AM, joes wrote:Am Mon, 14 Oct 2024 04:49:22 -0500 schrieb olcott:On 10/14/2024 4:04 AM, Mikko wrote:On 2024-10-13 12:53:12 +0000, olcott said:Oh, did you take out the check if HHH is the root simulator?There are no static root variables. There never has been any "not aYes! It really has different code, by way of the static RootIt explains in great detail that another different DDD (samehttps://chatgpt.com/share/6709e046-4794-8011-98b7-27066fb49f3eI did that, and it admitted that DDD halts, it just tries to
When you click on the link and try to explain how HHH must be
wrong when it reports that DDD does not terminate because DDD
does terminate it will explain your mistake to you.
justify why a wrong answer must be right.
machine code different process context) seems to terminate only
because the recursive emulation that it specifies has been aborted
at its second recursive call.
variable.
No wonder it behaves differently.
pure function of its inputs" aspect to emulation.
It doesn't seem to have happened this year.Nope, still there: https://github.com/plolcott/x86utm/blob/master/https://github.com/plolcott/x86utm/blob/master/Halt7.c#L502
Halt7.c#L502
>
shows: u32 H(ptr P, ptr I) // 2024-09-15 was HH
and edit on line 643
The repository indicates that it was updated: "last month"
Sure yet only when the input is non-terminating.You seemed to not understand that a simulation may be nonterminating.You and Richard never seemed to understand this previously.Every termination analyzer that emulates itself emulating its inputThat point can never come in the complete simulation of a non-
has always been a pure function of this input up to the point where
emulation stops.
terminating input, because it is infinite.Sure.Therefore if HHH even guesses that its input is non-termination
>
then HHH is correct.
DDD is free to be totally screwed up every which way.Sure. How can a function without side effects have different behaviour?You may be half right. Only the analyzer must be pure.By "pure" I mean having no side effects. You mean total vs. partial.Non-terminating C functions do not ever return, thus cannot possiblyYou err because you fail to understand how the same C/x86 functionDo explain how a pure function can change.
invoked in a different process context can have different
behavior.
be pure functions.
The input is free to get stuck in an infinite loop.
It is only HHH that must be a pure function.In which way is DDD screwed up that it is both free of side effects andIn other words you don't have a clue that an input to a
referentially intransparent?
>
termination analyzer can be non-terminating thus violating
the (1) criteria of pure functions shown below.
void Infinite_Recursion()By what?
{
Infinite_Recursion();
OutputString("Can't possibly get here!");
}
(1) *the function return values are identical for identical arguments*
(no variation with local static variables, non-local variables, mutable
reference arguments or input streams, i.e., referential transparency), and
(2) the function has no side effects (no mutation of local static
variables, non-local variables, mutable reference arguments or input/
output streams). https://en.wikipedia.org/wiki/Pure_function
When-so-ever any input to a termination is non-terminating
analyzer is non-terminating for any reason then this input
is not a pure function.
Terminating C functions must reach their "return" statement.Right, and every DDD that calls and HHH that returns 0 from the call to HHH(DDD) is proven to terminate, and thus that HHH is just incorrect.
Failing to reach their "return" statement proves non-termination.
For many months now I have been talking about the termination analyzerWeren't we discussing the halting DDD(){HHH(DDD);} before?Inputs are not required to be pure functions.HHH is a pure function of its input the whole time that it isI thought DDD was fixed to only call HHH(DDD)?
emulating.
DDD has no inputs and is allowed to be any finite string of x86
code.
Inputs to HHH are by no means required to ever return AT ALL.
HHH applied to input DDD.
I am not aware of ever referring to HHH as a halt decider. When I talk
about halt deciders I talk about the Linz proof.I am, as of a couple months back. This is still related to the Linz proof.>
>
Les messages affichés proviennent d'usenet.