On 2025-11-05, olcott <[email protected]> wrote:
On 11/4/2025 7:20 PM, Mike Terry wrote:
I don't really see that PO has declined recently - It seems to me he's
been the way he is for as long as I recall. I would say he's become
markedly ruder of late, though! Maybe that's all related to his LLMs
pandering to his delusions and giving him a renewed confidence.
Mike.
news://news.eternal-september.org/[email protected]
On 11/3/2025 10:28 PM, Kaz Kylheku wrote:
How about this minimal viable H:
#include <interpret.h> // C interpreter's own API
bool H(fptr P)
{
interp *s = interp_init(P);
for (int i = 0; i < 3; i++) {
if (interp_step(s))
return true;
}
return false;
}
H initializes an interpreter for its argument P.
Then it applies a very simple abort logic: it
steps the interpreter state three times. If
during those three steps, P terminates, it returns
true. Otherwise it assumes P is nonterminating and
returns false.
(Pretend that more complicated abort criteria are there.)
The interpreter API consists of primitives built
into the system, so it isn't traced.
So then we have D:
void D(void)
{
if (H(D)) { for (;;); }
return;
}
Let's trace H(D). We indicate the simulation levels from 0,
step numbers from 1 within each level, with a bit of indentation
to tell apart the levels:
*This is the part that Kaz does not understand*
i == 0 reaches if (interp_step(s))
i == 1 reaches if (interp_step(s))
i == 2 reaches if (interp_step(s))
i == 3 NEVER reaches if (interp_step(s))
The whole point is that D simulated by H
cannot possbly reach its own simulated
"return" statement no matter what H does.
Yes; this doesn't happen while H is running.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,076 |
| Nodes: | 10 (1 / 9) |
| Uptime: | 78:40:02 |
| Calls: | 13,805 |
| Files: | 186,990 |
| D/L today: |
5,993 files (1,958M bytes) |
| Messages: | 2,443,207 |