Concerning this boring nonsense:
https://book.simply-logical.space/src/text/2_part_ii/5.3.html#
Funny idea that anybody would be interested just now in
the year 2025 in things like teaching breadth first
search versus depth first search, or even be “mystified”
by such stuff. Its extremly trivial stuff:
Insert your favorite tree traversal pictures here.
Its even not artificial intelligence neither has anything
to do with mathematical logic, rather belongs to computer
science and discrete mathematics which you have in
1st year university
courses, making it moot to call it “simply logical”. It
reminds me of the idea of teaching how wax candles work
to dumb down students, when just light bulbs have been
invented. If this is the outcome
of the Prolog Education Group 2.0, then good night.
Hi,
Here some test results when testing
Desktop and not the Web. With Desktop
Prolog versions I find:
/* SWI-Prolog 9.3.28 */
% 7,506,637 inferences, 0.578 CPU in 0.567 seconds
/* Dogelog Player 1.3.6 for Java (16.08.2025) */
% Zeit 803 ms, GC 0 ms, Lips 9367988, Uhr 17.08.2025 18:03
/* Scryer Prolog 0.9.4-592 */
% CPU time: 0.838s, 7_517_613 inferences
/* Trealla Prolog 2.82.12 */
% Time elapsed 2.315s, 11263917 Inferences, 4.866 MLips
Bye
Mild Shock schrieb:
Hi,
The paper by Shalin and Carlson from 1991
did not yet ring a bell. But it suggest testing
something with primes and freeze. Lets do
primes as suggested but without freeze. SWI-Prolog
seems not to the OG of GC. Putting aside Shalin
and Carlson, its an typical example of a lot of
intermediate results, that can be discarded by
a garbage collection. Every candidate number that
is not a prime number can be remove from the
trail they get unreachable in the first clause
of search/3. Besides this obvious unreachability
task, I don't have statistics or don't see immediately
where large variable instantiation chains are supposed
to be created. At least not in my Prolog system, since
a result variable is passed without binding it to a
local variable, this "shunting" happens independent
of neck tests and the "shunting" there. The result variable
passing is extremly simple to implement and could
be what is effective here besides the reachability thingy.
At least the 1 ms GC time in Dogelog Player show that
the reachability thingy is the minor effort or optimization
to get nice performance:
/* WebPL GC */
(1846.1ms)
/* Dogelog Player 1.3.6 for JavaScript (16.08.2025) */
% Zeit 2992 ms, GC 1 ms, Lips 2514202, Uhr 17.08.2025 17:44
/* SWI-Prolog WASM */
(4204.2ms)
/* Trealla Prolog WASM */
(23568.9ms)
The test code was:
test :-
len(L, 1000),
primes(L, _).
primes([], 1).
primes([J|L], J) :-
primes(L, I),
K is I+1,
search(L, K, J).
search(L, I, J) :-
mem(X, L),
I mod X =:= 0, !,
K is I+1,
search(L, K, J).
search(_, I, I).
mem(X, [X|_]).
mem(X, [_|Y]) :-
mem(X, Y).
len([], 0) :- !.
len([_|L], N) :-
N > 0,
M is N-1,
len(L, M).
Bye
The following claim from p246 of Turing’s seminal paper On ComputableNumbers is a fallacy:
/the problem of enumerating computable sequences is equivalent to theproblem of finding out whether a given number is the D.N of a circle-
For any given computable sequence, there are _infinite_ circle-freemachines which compute that particular sequence. Not only can various
The problem of enumerating computable sequences, however, onlydepends on successfully identifying _one_ circle-free machine that
The problem of enumerating computable sequences is therefore _not_actually equivalent to a _general process_ of enumerating circle-free machines, as there is no need to identify all circle-free machines which compute any given computable sequence
Said problem is only equivalent to a _limited process_ of enumeratingcircle-free machines. The machine which identifies circle-free machines
Because of this fallacy, the proof found on the following p247, wherean ill-defined machine 𝓗 (which attempts and fails to compute the
Concerning this boring nonsense:
https://book.simply-logical.space/src/text/2_part_ii/5.3.html#
Funny idea that anybody would be interested just now in
the year 2025 in things like teaching breadth first
search versus depth first search, or even be “mystified”
by such stuff. Its extremly trivial stuff:
Insert your favorite tree traversal pictures here.
Its even not artificial intelligence neither has anything
to do with mathematical logic, rather belongs to computer
science and discrete mathematics which you have in
1st year university
courses, making it moot to call it “simply logical”. It
reminds me of the idea of teaching how wax candles work
to dumb down students, when just light bulbs have been
invented. If this is the outcome
of the Prolog Education Group 2.0, then good night.
Hi,
Somebody just changed the Vanilla Prolog
meta interpreter from:
solve(true) :- !.
solve((A,B)) :- !, solve(A), solve(B).
solve(H) :- clause(H, B), solve(B).
Into a cycle checking interpreter. It makes
certain Datalog programs and queries complete,
but it doesn't make Horn clauses complete:
solve(A) :- solve(A, []).
solve(true, _) :- !.
solve((A,B), L) :- !, solve(A, L), solve(B, L).
solve(A, L) :- member(B, L), A =@= B, !, fail.
solve(H, L) :- clause(H, B), solve(B, [H|L]).
Bye
P.S.: Here is a proof for Datalog:
Since Datalog has only constants and variables,
no function symbols at all, there are only finitely
many literals at runtime modulo (=@=)/2.
Q.E.D.
dart200 schrieb:
The following claim from p246 of Turing’s seminal paper On ComputableNumbers is a fallacy:
/the problem of enumerating computable sequences is equivalent to theproblem of finding out whether a given number is the D.N of a circle-
free machine, and we have no general process for doing this in a finite number of steps/
For any given computable sequence, there are _infinite_ circle-freemachines which compute that particular sequence. Not only can various machines differ significantly in the specific steps to produce the same output, machines can be changed in superficial ways that do not
meaningfully affect the steps of computation, akin to modern no-op statements or unreachable code
The problem of enumerating computable sequences, however, onlydepends on successfully identifying _one_ circle-free machine that
computes any given computable sequences. While identifying more than one
can certainly be done, it is _not_ a requirement for enumerating
computable sequences, as _one_ machine computing a sequence /suffices to output any and all digits of that sequence/
The problem of enumerating computable sequences is therefore _not_actually equivalent to a _general process_ of enumerating circle-free machines, as there is no need to identify all circle-free machines which compute any given computable sequence
Said problem is only equivalent to a _limited process_ of enumeratingcircle-free machines. The machine which identifies circle-free machines
only needs the limited power of determining _at least one_ circle-free machine for any given computable sequence, _not all_ machines for any
given computable sequence
Because of this fallacy, the proof found on the following p247, wherean ill-defined machine 𝓗 (which attempts and fails to compute the
direct diagonal β’) is found to be undecidable in respect to circle-free decider 𝓓; does not then prove an impossibility for enumerating computable sequences. As the problem of enumerating /all circle-free machines/ is _not_ equivalent to that of enumerating /just computable sequences/
Mild Shock schrieb:
Concerning this boring nonsense:
https://book.simply-logical.space/src/text/2_part_ii/5.3.html#
Funny idea that anybody would be interested just now in
the year 2025 in things like teaching breadth first
search versus depth first search, or even be “mystified”
by such stuff. Its extremly trivial stuff:
Insert your favorite tree traversal pictures here.
Its even not artificial intelligence neither has anything
to do with mathematical logic, rather belongs to computer
science and discrete mathematics which you have in
1st year university
courses, making it moot to call it “simply logical”. It
reminds me of the idea of teaching how wax candles work
to dumb down students, when just light bulbs have been
invented. If this is the outcome
of the Prolog Education Group 2.0, then good night.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,116 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 86:08:42 |
| Calls: | 14,305 |
| Files: | 186,338 |
| D/L today: |
833 files (258M bytes) |
| Messages: | 2,525,504 |