Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.prolog > #14451 > unrolled thread
| Started by | Mild Shock <janburse@fastmail.fm> |
|---|---|
| First post | 2025-02-22 13:05 +0100 |
| Last post | 2025-11-02 13:20 +0100 |
| Articles | 20 on this page of 66 — 1 participant |
Back to article view | Back to comp.lang.prolog
Prolog totally missed the AI Boom Mild Shock <janburse@fastmail.fm> - 2025-02-22 13:05 +0100
Auto-Encoders as Prolog Fact Stores (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-02-22 22:51 +0100
Ignorance in ILP circles confirmed (Was: Auto-Encoders as Prolog Fact Stores) Mild Shock <janburse@fastmail.fm> - 2025-02-23 18:33 +0100
Neuro infused logic programming [NILP] (Was: Auto-Encoders as Prolog Fact Stores) Mild Shock <janburse@fastmail.fm> - 2025-03-19 20:58 +0100
Last Exit Analogical Resoning (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-03-07 18:16 +0100
A software engineering analyis why Prolog fails (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-03-25 12:22 +0100
Lets re-iterate software engineering first! (Was: A software engineering analyis why Prolog fails) Mild Shock <janburse@fastmail.fm> - 2025-03-27 11:42 +0100
Re: Lets re-iterate software engineering first! (Was: A software engineering analyis why Prolog fails) Mild Shock <janburse@fastmail.fm> - 2025-03-27 11:43 +0100
No Coders completely Brain Dead (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-06-23 16:37 +0200
Unicode and atom length=1 (Was: No Coders completely Brain Dead) Mild Shock <janburse@fastmail.fm> - 2025-06-23 16:47 +0200
Most radical approach is Novacore from Dogelog Player (Was: Unicode and atom length=1) Mild Shock <janburse@fastmail.fm> - 2025-06-23 17:03 +0200
SWI-Prolog master not wide awake, doing day-sleeping (Was: Most radical approach is Novacore from Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-06-23 18:43 +0200
Re: SWI-Prolog master not wide awake, doing day-sleeping (Was: Most radical approach is Novacore from Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-06-23 18:44 +0200
The beauty of a double hook (Was: SWI-Prolog master not wide awake, doing day-sleeping) Mild Shock <janburse@fastmail.fm> - 2025-06-23 18:45 +0200
The beauty of a dual use hook (Was: SWI-Prolog master not wide awake, doing day-sleeping) Mild Shock <janburse@fastmail.fm> - 2025-06-23 19:01 +0200
maplist(char_code, Chars, Codes) is bidirectional (Was: The beauty of a dual use hook) Mild Shock <janburse@fastmail.fm> - 2025-06-23 19:17 +0200
I really have lost all hope and given up (Was: maplist(char_code, Chars, Codes) is bidirectional) Mild Shock <janburse@fastmail.fm> - 2025-06-23 19:31 +0200
Do Prologers know the Unicode Range? (Was: Most radical approach is Novacore from Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-06-27 13:21 +0200
Can Prologers produce 100% Prolog Code? (Was: Do Prologers know the Unicode Range?) Mild Shock <janburse@fastmail.fm> - 2025-06-27 13:22 +0200
Attention: Python versus Java (Was: Can Prologers produce 100% Prolog Code?) Mild Shock <janburse@fastmail.fm> - 2025-06-27 13:36 +0200
Is there a Swiss Army Knife of launching a Prolog system (Was: Most radical approach is Novacore from Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-07-13 15:17 +0200
An -e option could be the more rational choice (Was: Is there a Swiss Army Knife of launching a Prolog system) Mild Shock <janburse@fastmail.fm> - 2025-07-13 15:19 +0200
Prolog Cycle detection in the Top-Level (Was: Most radical approach is Novacore from Dogelog Player) Mild Shock <janburse@fastmail.fm> - 2025-07-20 13:39 +0200
What does SWI-Prolog / Ciao Prolog produce? (Was: Prolog Cycle detection in the Top-Level) Mild Shock <janburse@fastmail.fm> - 2025-07-20 13:43 +0200
Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-06-23 20:33 +0200
Typo:: Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-06-23 20:38 +0200
What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)] (Was: Typo:: Do not give dogs what is holy) Mild Shock <janburse@fastmail.fm> - 2025-06-23 21:16 +0200
Avoid the cheap tricks by Scryer Prolog (Was: What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)]) Mild Shock <janburse@fastmail.fm> - 2025-06-23 22:19 +0200
Why tuck the tail in front of a false Messias (Was: Avoid the cheap tricks by Scryer Prolog) Mild Shock <janburse@fastmail.fm> - 2025-06-23 22:20 +0200
Missed the AI Boom because missed the Emojis (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-06-29 13:32 +0200
Bonus in Trealla Prolog, different Tokenizer (Was: Missed the AI Boom because missed the Emojis) Mild Shock <janburse@fastmail.fm> - 2025-06-29 13:36 +0200
Science is not prepared for the AI Revolution (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-06-29 16:35 +0200
Bart Demoen's amageddon revisited (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-09 01:55 +0200
Long story short: Not everybody was blended by Bart Demoen (Was: Bart Demoen's amageddon revisited) Mild Shock <janburse@fastmail.fm> - 2025-07-09 02:08 +0200
On last sample: Barty Boy in full swing (Re: Long story short: Not everybody was blended by Bart Demoen) Mild Shock <janburse@fastmail.fm> - 2025-07-09 02:12 +0200
I hope he doesn't get a heart attack (Was: On last sample: Barty Boy in full swing) Mild Shock <janburse@fastmail.fm> - 2025-07-09 02:23 +0200
Would Poincaré miss the AI Boom (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-10 19:17 +0200
The ideal choice point as a logical formula (Was: Would Poincaré miss the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-10 21:22 +0200
What is practical choice point eliminaton then? (Was: The ideal choice point as a logical formula) Mild Shock <janburse@fastmail.fm> - 2025-07-10 21:30 +0200
Relation of the practical to the mathematical oracle (Was: What is practical choice point eliminaton then?) Mild Shock <janburse@fastmail.fm> - 2025-07-10 21:35 +0200
Should try semi-deep Prolog argument indexing (Was: Relation of the practical to the mathematical oracle) Mild Shock <janburse@fastmail.fm> - 2025-07-10 21:43 +0200
Benefit and drawback: (Semi-)Deep indexing still rare! (Was: Should try semi-deep Prolog argument indexing) Mild Shock <janburse@fastmail.fm> - 2025-07-10 21:58 +0200
Does DCG standard [2025] say (Semi-)Deep indexing? (Was: Benefit and drawback: (Semi-)Deep indexing still rare!) Mild Shock <janburse@fastmail.fm> - 2025-07-10 22:03 +0200
Stack Overflow is declining, and GitHub might be next (Was: Would Poincaré miss the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-15 20:55 +0200
GitHub 2.0: The no code companion repository (Was: Stack Overflow is declining, and GitHub might be next) Mild Shock <janburse@fastmail.fm> - 2025-07-15 21:15 +0200
Gian-Carlo Rota’s legacy and modern AI (Was: Would Poincaré miss the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-17 12:00 +0200
Will the world build on American Stacks? (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-14 15:55 +0200
Analogy as a Core of Intelligence (Human & Artificial) (Re: Will the world build on American Stacks?) Mild Shock <janburse@fastmail.fm> - 2025-07-17 12:14 +0200
Alain Colmerauer Analogy : Rational Terms / Rational Numbers (Was: Analogy as a Core of Intelligence) Mild Shock <janburse@fastmail.fm> - 2025-07-17 14:33 +0200
FYI: Peter Aczel Memorial Conference [10th September 2025] (Re: Alain Colmerauer Analogy : Rational Terms / Rational Numbers) Mild Shock <janburse@fastmail.fm> - 2025-07-17 14:57 +0200
s/Coq/Rocq not found (Re: FYI: Peter Aczel Memorial Conference [10th September 2025]) Mild Shock <janburse@fastmail.fm> - 2025-07-17 23:17 +0200
Wonder Years are Over: Next Step Mars (Was: s/Coq/Rocq not found) Mild Shock <janburse@fastmail.fm> - 2025-07-17 23:36 +0200
Some of the legacy of Alain Colmerauer (Re: FYI: Peter Aczel Memorial Conference [10th September 2025]) Mild Shock <janburse@fastmail.fm> - 2025-07-23 19:10 +0200
Looks like sorting of rational trees needs an existential type (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-23 13:57 +0200
LLMs / Autoencoders could profit for Bisimulation Quotienting (Re: Looks like sorting of rational trees needs an existential type) Mild Shock <janburse@fastmail.fm> - 2025-07-23 14:03 +0200
Are you Geh? From bi-simulation to bi-similarity (Was: LLMs / Autoencoders could profit for Bisimulation Quotienting) Mild Shock <janburse@fastmail.fm> - 2025-07-23 15:18 +0200
Quite vibrant logic history one can experience right now! (Re: Are you Geh? From bi-simulation to bi-similarity) Mild Shock <janburse@fastmail.fm> - 2025-07-23 19:14 +0200
The Prolog Community is extremly embarrassing (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-07-25 21:27 +0200
Non-Wellfounded and Russell Paradox, what is your opinion? (Re: The Prolog Community is extremly embarrassing) Mild Shock <janburse@fastmail.fm> - 2025-07-25 21:38 +0200
Unfinished Bimbo Stuff: 4.1. Trees as terms (Re: Non-Wellfounded and Russell Paradox, what is your opinion?) Mild Shock <janburse@fastmail.fm> - 2025-07-25 23:03 +0200
Gold medal waiting for the crankiest of cranks (Was: Unfinished Bimbo Stuff: 4.1. Trees as terms) Mild Shock <janburse@fastmail.fm> - 2025-07-26 16:10 +0200
Old School Logicians waste time with compare/3 ? (Was: Gold medal waiting for the crankiest of cranks) Mild Shock <janburse@fastmail.fm> - 2025-07-26 16:17 +0200
Is compare/3 a sunflower study subject? (Was: Old School Logicians waste time with compare/3 ?) Mild Shock <janburse@fastmail.fm> - 2025-07-26 16:36 +0200
Lattent Thinking the forbidden Fruit (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-11-02 11:58 +0100
Latent Thinking the forbidden Fruit (Was: Prolog totally missed the AI Boom) Mild Shock <janburse@fastmail.fm> - 2025-11-02 12:19 +0100
Fully automated AI researcher in your team? (Re: Latent Thinking the forbidden Fruit) Mild Shock <janburse@fastmail.fm> - 2025-11-02 13:20 +0100
Page 2 of 4 — ← Prev page 1 [2] 3 4 Next page →
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-13 15:17 +0200 |
| Subject | Is there a Swiss Army Knife of launching a Prolog system (Was: Most radical approach is Novacore from Dogelog Player) |
| Message-ID | <1050bkj$26p4p$2@solani.org> |
| In reply to | #14575 |
BTW: I see what you did here:
doge.pl: $(PROG)
$(file >$@,false :- \+true. ?- ['$<'],$(MAIN).)
https://github.com/hurufu/prolog-all/blob/main/rules.mk
Yes, I do not yet have a -g option.
Maybe should change that... The issue is a
little tricky. Only recently I managed to handle
some stuff that is tied to to the command line
after the Novacore has been loaded.
For example the top-level is now entered after
the Novacore is loaded, and the top-level loads
in itself library(session) etc.. To have a -g option
there is a dependency on
library(charsio), to convert a string into a term,
which is not part of Novacore itself. So maybe I could
do the same for a -g option, so that I can keep
the Novacore small, load
library(charsio) depending on the command line.
I just did yesterday something to make the Novacore
smaller. And handling a -g option this way could
be a viable way to keep it small.
Mild Shock schrieb:
> Hi,
>
> The most radical approach is Novacore from
> Dogelog Player. It consists of the following
> major incisions in the ISO core standard:
>
> - We do not forbid chars, like for example
> using lists of the form [a,b,c], we also
> provide char_code/2 predicate bidirectionally.
>
> - We do not provide and _chars built-in
> predicates also there is nothing _strings. The
> Prolog system is clever enough to not put
> every atom it sees in an atom table. There
> is only a predicate table.
>
> - Some host languages have garbage collection that
> deduplicates Strings. For example some Java
> versions have an options to do that. But we
> do not have any efforts to deduplicate atoms,
> which are simply plain strings.
>
> - Some languages have constant pools. For example
> the Java byte code format includes a constant
> pool in every class header. We do not do that
> during transpilation , but we could of course.
> But it begs the question, why only deduplicate
> strings and not other constant expressions as well?
>
> - We are totally happy that we have only codes,
> there are chances that the host languages use
> tagged pointers to represent them. So they
> are represented similar to the tagged pointers
> in SWI-Prolog which works for small integers.
>
> - But the tagged pointer argument is moot,
> since atom length=1 entities can be also
> represented as tagged pointers, and some
> programming languages do that. Dogelog Player
> would use such tagged pointers without
> poluting the atom table.
>
> - What else?
>
> Bye
>
> Mild Shock schrieb:
>>
>> Technically SWI-Prolog doesn't prefer codes.
>> Library `library(pure_input)` might prefer codes.
>> But this is again an issue of improving the
>> library by some non existent SWI-Prolog community.
>>
>> The ISO core standard is silent about a flag
>> back_quotes, but has a lot of API requirements
>> that support both codes and chars, for example it
>> requires atom_codes/2 and atom_chars/2.
>>
>> Implementation wise there can be an issue,
>> like one might decide to implement the atoms
>> of length=1 more efficiently, since with Unicode
>> there is now an explosion.
>>
>> Not sure whether Trealla Prolog and Scryer
>> Prolog thought about this problem, that the
>> atom table gets quite large. Whereas codes don't
>> eat the atom table. Maybe they forbit predicates
>>
>> that have an atom of length=1 head:
>>
>> h(X) :-
>> write('Hello '), write(X), write('!'), nl.
>>
>> Does this still work?
>>
>> Mild Shock schrieb:
>>> Concerning library(portray_text) which is in limbo:
>>>
>>> > Libraries are (often) written for either
>>> and thus the libraries make the choice.
>>>
>>> But who writes these libraries? The SWI Prolog
>>> community. And who doesn’t improve these libraries,
>>> instead floods the web with workaround tips?
>>> The SWI Prolog community.
>>>
>>> Conclusion the SWI-Prolog community has itself
>>> trapped in an ancient status quo, creating an island.
>>> Cannot improve its own tooling, is not willing
>>> to support code from else where that uses chars.
>>>
>>> Same with the missed AI Boom.
>>>
>>> (*) Code from elsewhere is dangerous, People
>>> might use other Prolog systems than only SWI-Prolog,
>>> like for exampe Trealla Prolog and Scryer Prolog.
>>>
>>> (**) Keeping the status quo is comfy. No need to
>>> think in terms of programm code. Its like biology
>>> teachers versus pathology staff, biology teachers
>>> do not everyday see opened corpses.
>>>
>>>
>>> Mild Shock schrieb:
>>>>
>>>> Inductive logic programming at 30
>>>> https://arxiv.org/abs/2102.10556
>>>>
>>>> The paper contains not a single reference to autoencoders!
>>>> Still they show this example:
>>>>
>>>> Fig. 1 ILP systems struggle with structured examples that
>>>> exhibit observational noise. All three examples clearly
>>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>>> shifted and elongated letters. If we would be to learn a
>>>> program that simply draws "ILP" in the middle of the picture,
>>>> without noisy pixels and elongated letters, that would
>>>> be a correct program.
>>>>
>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>>> turned into transformer was already reported here (*):
>>>>
>>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>>
>>>>
>>>> Well ILP might have its merits, maybe we should not ask
>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>>> But its tricky, I am still trying to decode the da Vinci code of
>>>>
>>>> things like stacked tensors, are they related to k-literal clauses?
>>>> The paper I referenced is found in this excellent video:
>>>>
>>>> The Making of ChatGPT (35 Year History)
>>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>>
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-13 15:19 +0200 |
| Subject | An -e option could be the more rational choice (Was: Is there a Swiss Army Knife of launching a Prolog system) |
| Message-ID | <1050bo9$26p4p$3@solani.org> |
| In reply to | #14654 |
One problem is that the -g option is not really
compatible with the scripting mode of a Prolog
system, since in scripting mode the assumptions
that after the scripts command line options
appear that are handled by the Prolog application.
So introducing a -g option can possibly only properly
be done, by also introducing and -l option, so that
we end up with this here, only it will not
be SWI-Prolog, but Dogelog Player:
swipl -l $< -g '$(MAIN),halt'
This is surely doable, but wasn't priority so far.
In SWI-Prolog there is still a choice you could also
call -g and -g or -g and -t. You could also do the
following, documented here on the SWI-Prolog website:
swipl -l $< -g '$(MAIN)' -g halt
Or this one, also documented on the SWI-Prolog website:
swipl -l $< -g '$(MAIN)' -t halt
I don't like this ambiguity, have to research what -e
commandline does found in other Prolog systems. Although
its tempting to have the version/0 call and the prolog/0
call separately customizable, with
an '-e' option I could also do:
swipl -l $< -e alt_version,alt_prolog
Crucial requirement is only that complex terms are
accepted on the command line, and thats why I
need library(charsio).
Mild Shock schrieb:
>
> BTW: I see what you did here:
>
> doge.pl: $(PROG)
> $(file >$@,false :- \+true. ?- ['$<'],$(MAIN).)
>
> https://github.com/hurufu/prolog-all/blob/main/rules.mk
>
> Yes, I do not yet have a -g option.
>
> Maybe should change that... The issue is a
> little tricky. Only recently I managed to handle
> some stuff that is tied to to the command line
> after the Novacore has been loaded.
>
> For example the top-level is now entered after
> the Novacore is loaded, and the top-level loads
> in itself library(session) etc.. To have a -g option
> there is a dependency on
>
> library(charsio), to convert a string into a term,
> which is not part of Novacore itself. So maybe I could
> do the same for a -g option, so that I can keep
> the Novacore small, load
>
> library(charsio) depending on the command line.
> I just did yesterday something to make the Novacore
> smaller. And handling a -g option this way could
> be a viable way to keep it small.
>
> Mild Shock schrieb:
>> Hi,
>>
>> The most radical approach is Novacore from
>> Dogelog Player. It consists of the following
>> major incisions in the ISO core standard:
>>
>> - We do not forbid chars, like for example
>> using lists of the form [a,b,c], we also
>> provide char_code/2 predicate bidirectionally.
>>
>> - We do not provide and _chars built-in
>> predicates also there is nothing _strings. The
>> Prolog system is clever enough to not put
>> every atom it sees in an atom table. There
>> is only a predicate table.
>>
>> - Some host languages have garbage collection that
>> deduplicates Strings. For example some Java
>> versions have an options to do that. But we
>> do not have any efforts to deduplicate atoms,
>> which are simply plain strings.
>>
>> - Some languages have constant pools. For example
>> the Java byte code format includes a constant
>> pool in every class header. We do not do that
>> during transpilation , but we could of course.
>> But it begs the question, why only deduplicate
>> strings and not other constant expressions as well?
>>
>> - We are totally happy that we have only codes,
>> there are chances that the host languages use
>> tagged pointers to represent them. So they
>> are represented similar to the tagged pointers
>> in SWI-Prolog which works for small integers.
>>
>> - But the tagged pointer argument is moot,
>> since atom length=1 entities can be also
>> represented as tagged pointers, and some
>> programming languages do that. Dogelog Player
>> would use such tagged pointers without
>> poluting the atom table.
>>
>> - What else?
>>
>> Bye
>>
>> Mild Shock schrieb:
>>>
>>> Technically SWI-Prolog doesn't prefer codes.
>>> Library `library(pure_input)` might prefer codes.
>>> But this is again an issue of improving the
>>> library by some non existent SWI-Prolog community.
>>>
>>> The ISO core standard is silent about a flag
>>> back_quotes, but has a lot of API requirements
>>> that support both codes and chars, for example it
>>> requires atom_codes/2 and atom_chars/2.
>>>
>>> Implementation wise there can be an issue,
>>> like one might decide to implement the atoms
>>> of length=1 more efficiently, since with Unicode
>>> there is now an explosion.
>>>
>>> Not sure whether Trealla Prolog and Scryer
>>> Prolog thought about this problem, that the
>>> atom table gets quite large. Whereas codes don't
>>> eat the atom table. Maybe they forbit predicates
>>>
>>> that have an atom of length=1 head:
>>>
>>> h(X) :-
>>> write('Hello '), write(X), write('!'), nl.
>>>
>>> Does this still work?
>>>
>>> Mild Shock schrieb:
>>>> Concerning library(portray_text) which is in limbo:
>>>>
>>>> > Libraries are (often) written for either
>>>> and thus the libraries make the choice.
>>>>
>>>> But who writes these libraries? The SWI Prolog
>>>> community. And who doesn’t improve these libraries,
>>>> instead floods the web with workaround tips?
>>>> The SWI Prolog community.
>>>>
>>>> Conclusion the SWI-Prolog community has itself
>>>> trapped in an ancient status quo, creating an island.
>>>> Cannot improve its own tooling, is not willing
>>>> to support code from else where that uses chars.
>>>>
>>>> Same with the missed AI Boom.
>>>>
>>>> (*) Code from elsewhere is dangerous, People
>>>> might use other Prolog systems than only SWI-Prolog,
>>>> like for exampe Trealla Prolog and Scryer Prolog.
>>>>
>>>> (**) Keeping the status quo is comfy. No need to
>>>> think in terms of programm code. Its like biology
>>>> teachers versus pathology staff, biology teachers
>>>> do not everyday see opened corpses.
>>>>
>>>>
>>>> Mild Shock schrieb:
>>>>>
>>>>> Inductive logic programming at 30
>>>>> https://arxiv.org/abs/2102.10556
>>>>>
>>>>> The paper contains not a single reference to autoencoders!
>>>>> Still they show this example:
>>>>>
>>>>> Fig. 1 ILP systems struggle with structured examples that
>>>>> exhibit observational noise. All three examples clearly
>>>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>>>> shifted and elongated letters. If we would be to learn a
>>>>> program that simply draws "ILP" in the middle of the picture,
>>>>> without noisy pixels and elongated letters, that would
>>>>> be a correct program.
>>>>>
>>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>>>> turned into transformer was already reported here (*):
>>>>>
>>>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>>>
>>>>>
>>>>> Well ILP might have its merits, maybe we should not ask
>>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>>>> But its tricky, I am still trying to decode the da Vinci code of
>>>>>
>>>>> things like stacked tensors, are they related to k-literal clauses?
>>>>> The paper I referenced is found in this excellent video:
>>>>>
>>>>> The Making of ChatGPT (35 Year History)
>>>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>>>
>>>>
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-20 13:39 +0200 |
| Subject | Prolog Cycle detection in the Top-Level (Was: Most radical approach is Novacore from Dogelog Player) |
| Message-ID | <105ikhs$2im84$1@solani.org> |
| In reply to | #14575 |
Hi,
I didn't expect the topic to be that rich.
The big challenge in a top-level display is
the "interleaving" of equations and their
factorization as well as the "inlining" of
equations with existing variable names,
trying hard to do exactly that, was looking
at these test cases:
?- [user].
p(X,Y) :- X = f(f(f(X))), Y = f(f(Y)).
p(X,Y) :- X = a(f(X,Y)), Y = b(g(X,Y)).
p(X,Y) :- X = s(s(X,Y),_), Y = s(Y,X).
Using cycle detection via (==)/2 I get:
/* Dogelog Player 1.3.5 */
?- p(X,Y).
X = f(X), Y = X;
X = a(f(X, Y)), Y = b(g(X, Y));
X = s(s(X, Y), _), Y = s(Y, X).
Using cycle detection via same_term/2 I get:
/* Dogelog Player 1.3.5 */
?- p(X,Y).
X = f(f(f(X))), Y = f(f(Y));
X = a(f(X, Y)), Y = b(g(X, Y));
X = s(s(X, Y), _), Y = s(Y, X).
Cool!
Bye
Mild Shock schrieb:
> Hi,
>
> The most radical approach is Novacore from
> Dogelog Player. It consists of the following
> major incisions in the ISO core standard:
>
> - We do not forbid chars, like for example
> using lists of the form [a,b,c], we also
> provide char_code/2 predicate bidirectionally.
>
> - We do not provide and _chars built-in
> predicates also there is nothing _strings. The
> Prolog system is clever enough to not put
> every atom it sees in an atom table. There
> is only a predicate table.
>
> - Some host languages have garbage collection that
> deduplicates Strings. For example some Java
> versions have an options to do that. But we
> do not have any efforts to deduplicate atoms,
> which are simply plain strings.
>
> - Some languages have constant pools. For example
> the Java byte code format includes a constant
> pool in every class header. We do not do that
> during transpilation , but we could of course.
> But it begs the question, why only deduplicate
> strings and not other constant expressions as well?
>
> - We are totally happy that we have only codes,
> there are chances that the host languages use
> tagged pointers to represent them. So they
> are represented similar to the tagged pointers
> in SWI-Prolog which works for small integers.
>
> - But the tagged pointer argument is moot,
> since atom length=1 entities can be also
> represented as tagged pointers, and some
> programming languages do that. Dogelog Player
> would use such tagged pointers without
> poluting the atom table.
>
> - What else?
>
> Bye
>
> Mild Shock schrieb:
>>
>> Technically SWI-Prolog doesn't prefer codes.
>> Library `library(pure_input)` might prefer codes.
>> But this is again an issue of improving the
>> library by some non existent SWI-Prolog community.
>>
>> The ISO core standard is silent about a flag
>> back_quotes, but has a lot of API requirements
>> that support both codes and chars, for example it
>> requires atom_codes/2 and atom_chars/2.
>>
>> Implementation wise there can be an issue,
>> like one might decide to implement the atoms
>> of length=1 more efficiently, since with Unicode
>> there is now an explosion.
>>
>> Not sure whether Trealla Prolog and Scryer
>> Prolog thought about this problem, that the
>> atom table gets quite large. Whereas codes don't
>> eat the atom table. Maybe they forbit predicates
>>
>> that have an atom of length=1 head:
>>
>> h(X) :-
>> write('Hello '), write(X), write('!'), nl.
>>
>> Does this still work?
>>
>> Mild Shock schrieb:
>>> Concerning library(portray_text) which is in limbo:
>>>
>>> > Libraries are (often) written for either
>>> and thus the libraries make the choice.
>>>
>>> But who writes these libraries? The SWI Prolog
>>> community. And who doesn’t improve these libraries,
>>> instead floods the web with workaround tips?
>>> The SWI Prolog community.
>>>
>>> Conclusion the SWI-Prolog community has itself
>>> trapped in an ancient status quo, creating an island.
>>> Cannot improve its own tooling, is not willing
>>> to support code from else where that uses chars.
>>>
>>> Same with the missed AI Boom.
>>>
>>> (*) Code from elsewhere is dangerous, People
>>> might use other Prolog systems than only SWI-Prolog,
>>> like for exampe Trealla Prolog and Scryer Prolog.
>>>
>>> (**) Keeping the status quo is comfy. No need to
>>> think in terms of programm code. Its like biology
>>> teachers versus pathology staff, biology teachers
>>> do not everyday see opened corpses.
>>>
>>>
>>> Mild Shock schrieb:
>>>>
>>>> Inductive logic programming at 30
>>>> https://arxiv.org/abs/2102.10556
>>>>
>>>> The paper contains not a single reference to autoencoders!
>>>> Still they show this example:
>>>>
>>>> Fig. 1 ILP systems struggle with structured examples that
>>>> exhibit observational noise. All three examples clearly
>>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>>> shifted and elongated letters. If we would be to learn a
>>>> program that simply draws "ILP" in the middle of the picture,
>>>> without noisy pixels and elongated letters, that would
>>>> be a correct program.
>>>>
>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>>> turned into transformer was already reported here (*):
>>>>
>>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>>
>>>>
>>>> Well ILP might have its merits, maybe we should not ask
>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>>> But its tricky, I am still trying to decode the da Vinci code of
>>>>
>>>> things like stacked tensors, are they related to k-literal clauses?
>>>> The paper I referenced is found in this excellent video:
>>>>
>>>> The Making of ChatGPT (35 Year History)
>>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>>
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-20 13:43 +0200 |
| Subject | What does SWI-Prolog / Ciao Prolog produce? (Was: Prolog Cycle detection in the Top-Level) |
| Message-ID | <105ikpe$2imb1$1@solani.org> |
| In reply to | #14689 |
Hi,
SWI-Prolog has a small glitch in the clause
compilation, which can be compensated by using:
?- [user].
p(X,Y) :- call((X = f(f(f(X))), Y = f(f(Y)))).
p(X,Y) :- call((X = a(f(X,Y)), Y = b(g(X,Y)))).
p(X,Y) :- call((X = s(s(X,Y),_), Y = s(Y,X))).
I then get these results:
/* SWI-Prolog 9.3.25 */
?- p(X,Y).
X = Y, Y = f(f(Y)) ; /* ordering dependent */
X = _S1, % where
_S1 = a(f(_S1, _S2)),
_S2 = b(g(_S1, _S2)),
Y = b(g(_S1, _S2)) ; /* could use _S2 */
X = _S1, % where
_S1 = s(s(_S1, _S2), _),
_S2 = s(_S2, _S1),
Y = s(_S2, _S1). /* could use _S2 */
And for Ciao Prolog I get these results:
/* Ciao Prolog 1.25.0 */
?- p(X,Y).
X = f(X),
Y = f(X) ? ; /* too big! */
X = a(f(X,b(g(X,Y)))), /* too big! */
Y = b(g(a(f(X,Y)),Y)) ? ; /* too big! */
X = s(s(X,s(Y,X)),_A), /* too big! */
Y = s(Y,s(s(X,Y),_A)) ? ; /* too big! */
Bye
Mild Shock schrieb:
> Hi,
>
> I didn't expect the topic to be that rich.
>
> The big challenge in a top-level display is
> the "interleaving" of equations and their
> factorization as well as the "inlining" of
> equations with existing variable names,
>
> trying hard to do exactly that, was looking
> at these test cases:
>
> ?- [user].
> p(X,Y) :- X = f(f(f(X))), Y = f(f(Y)).
> p(X,Y) :- X = a(f(X,Y)), Y = b(g(X,Y)).
> p(X,Y) :- X = s(s(X,Y),_), Y = s(Y,X).
>
> Using cycle detection via (==)/2 I get:
>
> /* Dogelog Player 1.3.5 */
> ?- p(X,Y).
> X = f(X), Y = X;
> X = a(f(X, Y)), Y = b(g(X, Y));
> X = s(s(X, Y), _), Y = s(Y, X).
>
> Using cycle detection via same_term/2 I get:
>
> /* Dogelog Player 1.3.5 */
> ?- p(X,Y).
> X = f(f(f(X))), Y = f(f(Y));
> X = a(f(X, Y)), Y = b(g(X, Y));
> X = s(s(X, Y), _), Y = s(Y, X).
>
> Cool!
>
> Bye
>
> Mild Shock schrieb:
>> Hi,
>>
>> The most radical approach is Novacore from
>> Dogelog Player. It consists of the following
>> major incisions in the ISO core standard:
>>
>> - We do not forbid chars, like for example
>> using lists of the form [a,b,c], we also
>> provide char_code/2 predicate bidirectionally.
>>
>> - We do not provide and _chars built-in
>> predicates also there is nothing _strings. The
>> Prolog system is clever enough to not put
>> every atom it sees in an atom table. There
>> is only a predicate table.
>>
>> - Some host languages have garbage collection that
>> deduplicates Strings. For example some Java
>> versions have an options to do that. But we
>> do not have any efforts to deduplicate atoms,
>> which are simply plain strings.
>>
>> - Some languages have constant pools. For example
>> the Java byte code format includes a constant
>> pool in every class header. We do not do that
>> during transpilation , but we could of course.
>> But it begs the question, why only deduplicate
>> strings and not other constant expressions as well?
>>
>> - We are totally happy that we have only codes,
>> there are chances that the host languages use
>> tagged pointers to represent them. So they
>> are represented similar to the tagged pointers
>> in SWI-Prolog which works for small integers.
>>
>> - But the tagged pointer argument is moot,
>> since atom length=1 entities can be also
>> represented as tagged pointers, and some
>> programming languages do that. Dogelog Player
>> would use such tagged pointers without
>> poluting the atom table.
>>
>> - What else?
>>
>> Bye
>>
>> Mild Shock schrieb:
>>>
>>> Technically SWI-Prolog doesn't prefer codes.
>>> Library `library(pure_input)` might prefer codes.
>>> But this is again an issue of improving the
>>> library by some non existent SWI-Prolog community.
>>>
>>> The ISO core standard is silent about a flag
>>> back_quotes, but has a lot of API requirements
>>> that support both codes and chars, for example it
>>> requires atom_codes/2 and atom_chars/2.
>>>
>>> Implementation wise there can be an issue,
>>> like one might decide to implement the atoms
>>> of length=1 more efficiently, since with Unicode
>>> there is now an explosion.
>>>
>>> Not sure whether Trealla Prolog and Scryer
>>> Prolog thought about this problem, that the
>>> atom table gets quite large. Whereas codes don't
>>> eat the atom table. Maybe they forbit predicates
>>>
>>> that have an atom of length=1 head:
>>>
>>> h(X) :-
>>> write('Hello '), write(X), write('!'), nl.
>>>
>>> Does this still work?
>>>
>>> Mild Shock schrieb:
>>>> Concerning library(portray_text) which is in limbo:
>>>>
>>>> > Libraries are (often) written for either
>>>> and thus the libraries make the choice.
>>>>
>>>> But who writes these libraries? The SWI Prolog
>>>> community. And who doesn’t improve these libraries,
>>>> instead floods the web with workaround tips?
>>>> The SWI Prolog community.
>>>>
>>>> Conclusion the SWI-Prolog community has itself
>>>> trapped in an ancient status quo, creating an island.
>>>> Cannot improve its own tooling, is not willing
>>>> to support code from else where that uses chars.
>>>>
>>>> Same with the missed AI Boom.
>>>>
>>>> (*) Code from elsewhere is dangerous, People
>>>> might use other Prolog systems than only SWI-Prolog,
>>>> like for exampe Trealla Prolog and Scryer Prolog.
>>>>
>>>> (**) Keeping the status quo is comfy. No need to
>>>> think in terms of programm code. Its like biology
>>>> teachers versus pathology staff, biology teachers
>>>> do not everyday see opened corpses.
>>>>
>>>>
>>>> Mild Shock schrieb:
>>>>>
>>>>> Inductive logic programming at 30
>>>>> https://arxiv.org/abs/2102.10556
>>>>>
>>>>> The paper contains not a single reference to autoencoders!
>>>>> Still they show this example:
>>>>>
>>>>> Fig. 1 ILP systems struggle with structured examples that
>>>>> exhibit observational noise. All three examples clearly
>>>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>>>> shifted and elongated letters. If we would be to learn a
>>>>> program that simply draws "ILP" in the middle of the picture,
>>>>> without noisy pixels and elongated letters, that would
>>>>> be a correct program.
>>>>>
>>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>>>> turned into transformer was already reported here (*):
>>>>>
>>>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>>>
>>>>>
>>>>> Well ILP might have its merits, maybe we should not ask
>>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>>>> But its tricky, I am still trying to decode the da Vinci code of
>>>>>
>>>>> things like stacked tensors, are they related to k-literal clauses?
>>>>> The paper I referenced is found in this excellent video:
>>>>>
>>>>> The Making of ChatGPT (35 Year History)
>>>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>>>
>>>>
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-23 20:33 +0200 |
| Subject | Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom) |
| Message-ID | <103c6l1$16brf$1@solani.org> |
| In reply to | #14451 |
What is holy is only for Dogelog Player! Do not give dogs what is holy, and do not throw your pearls before pigs, lest they trample them underfoot and turn to attack you. -- Matthew 7:6 https://www.biblegateway.com/passage/?search=Matthew%207%3A6 I have deleted my posts and the swi2.pl.log proposal: between(C, 0'0, 0'9), Digit is C-0'0.` Just rewrite it to: 0'0 =< [Digit], [Digit] =< 0'9, [Digit] is C-0'0`. The [X] in an evaluation is dual use again: ?- X is [a]. X = 97. ?- X is [0'a]. X = 97. Mild Shock schrieb: > > Inductive logic programming at 30 > https://arxiv.org/abs/2102.10556 > > The paper contains not a single reference to autoencoders! > Still they show this example: > > Fig. 1 ILP systems struggle with structured examples that > exhibit observational noise. All three examples clearly > spell the word "ILP", with some alterations: 3 noisy pixels, > shifted and elongated letters. If we would be to learn a > program that simply draws "ILP" in the middle of the picture, > without noisy pixels and elongated letters, that would > be a correct program. > > I guess ILP is 30 years behind the AI boom. An early autoencoder > turned into transformer was already reported here (*): > > SERIAL ORDER, Michael I. Jordan - May 1986 > https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf > > Well ILP might have its merits, maybe we should not ask > for a marriage of LLM and Prolog, but Autoencoders and ILP. > But its tricky, I am still trying to decode the da Vinci code of > > things like stacked tensors, are they related to k-literal clauses? > The paper I referenced is found in this excellent video: > > The Making of ChatGPT (35 Year History) > https://www.youtube.com/watch?v=OFS90-FX6pg >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-23 20:38 +0200 |
| Subject | Typo:: Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom) |
| Message-ID | <103c6vq$16c1m$1@solani.org> |
| In reply to | #14582 |
Oops should read: 0'0 =< [C], [C] =< 0'9, Digit is [C]-0'0`. Mild Shock schrieb: > What is holy is only for Dogelog Player! > > Do not give dogs what is holy, and do not > throw your pearls before pigs, lest they > trample them underfoot and turn to attack you. > -- Matthew 7:6 > https://www.biblegateway.com/passage/?search=Matthew%207%3A6 > > I have deleted my posts and the swi2.pl.log proposal: > > between(C, 0'0, 0'9), Digit is C-0'0.` > > Just rewrite it to: > > 0'0 =< [Digit], [Digit] =< 0'9, [Digit] is C-0'0`. > > The [X] in an evaluation is dual use again: > > ?- X is [a]. > X = 97. > > ?- X is [0'a]. > X = 97. > > > Mild Shock schrieb: >> >> Inductive logic programming at 30 >> https://arxiv.org/abs/2102.10556 >> >> The paper contains not a single reference to autoencoders! >> Still they show this example: >> >> Fig. 1 ILP systems struggle with structured examples that >> exhibit observational noise. All three examples clearly >> spell the word "ILP", with some alterations: 3 noisy pixels, >> shifted and elongated letters. If we would be to learn a >> program that simply draws "ILP" in the middle of the picture, >> without noisy pixels and elongated letters, that would >> be a correct program. >> >> I guess ILP is 30 years behind the AI boom. An early autoencoder >> turned into transformer was already reported here (*): >> >> SERIAL ORDER, Michael I. Jordan - May 1986 >> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf >> >> Well ILP might have its merits, maybe we should not ask >> for a marriage of LLM and Prolog, but Autoencoders and ILP. >> But its tricky, I am still trying to decode the da Vinci code of >> >> things like stacked tensors, are they related to k-literal clauses? >> The paper I referenced is found in this excellent video: >> >> The Making of ChatGPT (35 Year History) >> https://www.youtube.com/watch?v=OFS90-FX6pg >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-23 21:16 +0200 |
| Subject | What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)] (Was: Typo:: Do not give dogs what is holy) |
| Message-ID | <103c96u$174ch$1@solani.org> |
| In reply to | #14583 |
Hi,
What WG17 could do to prevent segregation.
It could specify:
- The back_quotes flag. Not really something
new , most Prolog systems have it already.
- The [X] evaluable function. Not really something
new , most Prolog systems have it already. For
example DEC-10 Prolog (10 November 1982) had it
already, The new thing for some Prolog systems
would be its non-strict evaluation strategy
and the dual use:
[X] (a list of just one element) evaluates to X if X is an
integer. Since a quoted string is just a list of integers,
this allows a quoted character to be used in place of its
ASCII code; e.g. "A" behaves within arithmetic expressions
as the integer 65.
https://userweb.fct.unl.pt/~lmp/publications/online-papers/DECsystem-10%20PROLOG%20USER%27S%20MANUAL.pdf
Instead what is WG17 doing?
- Introducing a notation for open strings:
[a, b, c|X] = "abc" || X
With a new separator ||, giving possibly much more
headache to Prolog system implementors than a flag
and an evaluable function.
Bye
Mild Shock schrieb:
> Oops should read:
>
> 0'0 =< [C], [C] =< 0'9, Digit is [C]-0'0`.
>
> Mild Shock schrieb:
>> What is holy is only for Dogelog Player!
>>
>> Do not give dogs what is holy, and do not
>> throw your pearls before pigs, lest they
>> trample them underfoot and turn to attack you.
>> -- Matthew 7:6
>> https://www.biblegateway.com/passage/?search=Matthew%207%3A6
>>
>> I have deleted my posts and the swi2.pl.log proposal:
>>
>> between(C, 0'0, 0'9), Digit is C-0'0.`
>>
>> Just rewrite it to:
>>
>> 0'0 =< [Digit], [Digit] =< 0'9, [Digit] is C-0'0`.
>>
>> The [X] in an evaluation is dual use again:
>>
>> ?- X is [a].
>> X = 97.
>>
>> ?- X is [0'a].
>> X = 97.
>>
>>
>> Mild Shock schrieb:
>>>
>>> Inductive logic programming at 30
>>> https://arxiv.org/abs/2102.10556
>>>
>>> The paper contains not a single reference to autoencoders!
>>> Still they show this example:
>>>
>>> Fig. 1 ILP systems struggle with structured examples that
>>> exhibit observational noise. All three examples clearly
>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>> shifted and elongated letters. If we would be to learn a
>>> program that simply draws "ILP" in the middle of the picture,
>>> without noisy pixels and elongated letters, that would
>>> be a correct program.
>>>
>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>> turned into transformer was already reported here (*):
>>>
>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>
>>> Well ILP might have its merits, maybe we should not ask
>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>> But its tricky, I am still trying to decode the da Vinci code of
>>>
>>> things like stacked tensors, are they related to k-literal clauses?
>>> The paper I referenced is found in this excellent video:
>>>
>>> The Making of ChatGPT (35 Year History)
>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-23 22:19 +0200 |
| Subject | Avoid the cheap tricks by Scryer Prolog (Was: What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)]) |
| Message-ID | <103ccs9$16ehi$1@solani.org> |
| In reply to | #14584 |
I don’t know, I would try to get out of the
cornering that Scryer Prolog and Trealla Prolog
tries to do with cheap tricks like this here,
which library(portray_text) will probably
/* Scryer Prolog 0.9.4-411 */
?- "٢١٠" = [H|T]. /* [0x0662, 0x0661, 0x0660] */
H = '٢', T = "١٠".
never attempt for codes, but might easily do
for chars. It has currently only implemented:
/* SWI-Prolog 9.3.24 */
text_code(Code) :-
is_text_code(Code),
!.
text_code(9). % horizontal tab, \t
text_code(10). % newline \n
text_code(13). % carriage return \r
text_code(C) :- % space to tilde (127 is DEL)
between(32, 126, C).
And a greater range might really start getting into the
way in working with lists that carry numbers.
My guess SWI-Prolog could position its self as dual use.
Mild Shock schrieb:
> Hi,
>
> What WG17 could do to prevent segregation.
> It could specify:
>
> - The back_quotes flag. Not really something
> new , most Prolog systems have it already.
>
> - The [X] evaluable function. Not really something
> new , most Prolog systems have it already. For
> example DEC-10 Prolog (10 November 1982) had it
> already, The new thing for some Prolog systems
> would be its non-strict evaluation strategy
> and the dual use:
>
> [X] (a list of just one element) evaluates to X if X is an
> integer. Since a quoted string is just a list of integers,
> this allows a quoted character to be used in place of its
> ASCII code; e.g. "A" behaves within arithmetic expressions
> as the integer 65.
>
> https://userweb.fct.unl.pt/~lmp/publications/online-papers/DECsystem-10%20PROLOG%20USER%27S%20MANUAL.pdf
>
>
> Instead what is WG17 doing?
>
> - Introducing a notation for open strings:
>
> [a, b, c|X] = "abc" || X
>
> With a new separator ||, giving possibly much more
> headache to Prolog system implementors than a flag
> and an evaluable function.
>
> Bye
>
> Mild Shock schrieb:
>> Oops should read:
>>
>> 0'0 =< [C], [C] =< 0'9, Digit is [C]-0'0`.
>>
>> Mild Shock schrieb:
>>> What is holy is only for Dogelog Player!
>>>
>>> Do not give dogs what is holy, and do not
>>> throw your pearls before pigs, lest they
>>> trample them underfoot and turn to attack you.
>>> -- Matthew 7:6
>>> https://www.biblegateway.com/passage/?search=Matthew%207%3A6
>>>
>>> I have deleted my posts and the swi2.pl.log proposal:
>>>
>>> between(C, 0'0, 0'9), Digit is C-0'0.`
>>>
>>> Just rewrite it to:
>>>
>>> 0'0 =< [Digit], [Digit] =< 0'9, [Digit] is C-0'0`.
>>>
>>> The [X] in an evaluation is dual use again:
>>>
>>> ?- X is [a].
>>> X = 97.
>>>
>>> ?- X is [0'a].
>>> X = 97.
>>>
>>>
>>> Mild Shock schrieb:
>>>>
>>>> Inductive logic programming at 30
>>>> https://arxiv.org/abs/2102.10556
>>>>
>>>> The paper contains not a single reference to autoencoders!
>>>> Still they show this example:
>>>>
>>>> Fig. 1 ILP systems struggle with structured examples that
>>>> exhibit observational noise. All three examples clearly
>>>> spell the word "ILP", with some alterations: 3 noisy pixels,
>>>> shifted and elongated letters. If we would be to learn a
>>>> program that simply draws "ILP" in the middle of the picture,
>>>> without noisy pixels and elongated letters, that would
>>>> be a correct program.
>>>>
>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>>>> turned into transformer was already reported here (*):
>>>>
>>>> SERIAL ORDER, Michael I. Jordan - May 1986
>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>>>
>>>>
>>>> Well ILP might have its merits, maybe we should not ask
>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>>>> But its tricky, I am still trying to decode the da Vinci code of
>>>>
>>>> things like stacked tensors, are they related to k-literal clauses?
>>>> The paper I referenced is found in this excellent video:
>>>>
>>>> The Making of ChatGPT (35 Year History)
>>>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>>>
>>>
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-23 22:20 +0200 |
| Subject | Why tuck the tail in front of a false Messias (Was: Avoid the cheap tricks by Scryer Prolog) |
| Message-ID | <103ccui$16ehi$2@solani.org> |
| In reply to | #14585 |
My guess SWI-Prolog could position its self as dual use. If it is not going dual use and as a Prolog system that is supposed to lead the way in teaching, it might only add to the segregation and confusion among Prolog systems. Of course people like Markus Triska try to position themselves as teachers and messias of Prolog. Why tuck the tail? Mild Shock schrieb: > > I don’t know, I would try to get out of the > cornering that Scryer Prolog and Trealla Prolog > tries to do with cheap tricks like this here, > which library(portray_text) will probably > > /* Scryer Prolog 0.9.4-411 */ > ?- "٢١٠" = [H|T]. /* [0x0662, 0x0661, 0x0660] */ > H = '٢', T = "١٠". > > never attempt for codes, but might easily do > for chars. It has currently only implemented: > > /* SWI-Prolog 9.3.24 */ > text_code(Code) :- > is_text_code(Code), > !. > text_code(9). % horizontal tab, \t > text_code(10). % newline \n > text_code(13). % carriage return \r > text_code(C) :- % space to tilde (127 is DEL) > between(32, 126, C). > > And a greater range might really start getting into the > way in working with lists that carry numbers. > > My guess SWI-Prolog could position its self as dual use. > > Mild Shock schrieb: >> Hi, >> >> What WG17 could do to prevent segregation. >> It could specify: >> >> - The back_quotes flag. Not really something >> new , most Prolog systems have it already. >> >> - The [X] evaluable function. Not really something >> new , most Prolog systems have it already. For >> example DEC-10 Prolog (10 November 1982) had it >> already, The new thing for some Prolog systems >> would be its non-strict evaluation strategy >> and the dual use: >> >> [X] (a list of just one element) evaluates to X if X is an >> integer. Since a quoted string is just a list of integers, >> this allows a quoted character to be used in place of its >> ASCII code; e.g. "A" behaves within arithmetic expressions >> as the integer 65. >> >> https://userweb.fct.unl.pt/~lmp/publications/online-papers/DECsystem-10%20PROLOG%20USER%27S%20MANUAL.pdf >> >> >> Instead what is WG17 doing? >> >> - Introducing a notation for open strings: >> >> [a, b, c|X] = "abc" || X >> >> With a new separator ||, giving possibly much more >> headache to Prolog system implementors than a flag >> and an evaluable function. >> >> Bye >> >> Mild Shock schrieb: >>> Oops should read: >>> >>> 0'0 =< [C], [C] =< 0'9, Digit is [C]-0'0`. >>> >>> Mild Shock schrieb: >>>> What is holy is only for Dogelog Player! >>>> >>>> Do not give dogs what is holy, and do not >>>> throw your pearls before pigs, lest they >>>> trample them underfoot and turn to attack you. >>>> -- Matthew 7:6 >>>> https://www.biblegateway.com/passage/?search=Matthew%207%3A6 >>>> >>>> I have deleted my posts and the swi2.pl.log proposal: >>>> >>>> between(C, 0'0, 0'9), Digit is C-0'0.` >>>> >>>> Just rewrite it to: >>>> >>>> 0'0 =< [Digit], [Digit] =< 0'9, [Digit] is C-0'0`. >>>> >>>> The [X] in an evaluation is dual use again: >>>> >>>> ?- X is [a]. >>>> X = 97. >>>> >>>> ?- X is [0'a]. >>>> X = 97. >>>> >>>> >>>> Mild Shock schrieb: >>>>> >>>>> Inductive logic programming at 30 >>>>> https://arxiv.org/abs/2102.10556 >>>>> >>>>> The paper contains not a single reference to autoencoders! >>>>> Still they show this example: >>>>> >>>>> Fig. 1 ILP systems struggle with structured examples that >>>>> exhibit observational noise. All three examples clearly >>>>> spell the word "ILP", with some alterations: 3 noisy pixels, >>>>> shifted and elongated letters. If we would be to learn a >>>>> program that simply draws "ILP" in the middle of the picture, >>>>> without noisy pixels and elongated letters, that would >>>>> be a correct program. >>>>> >>>>> I guess ILP is 30 years behind the AI boom. An early autoencoder >>>>> turned into transformer was already reported here (*): >>>>> >>>>> SERIAL ORDER, Michael I. Jordan - May 1986 >>>>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf >>>>> >>>>> >>>>> Well ILP might have its merits, maybe we should not ask >>>>> for a marriage of LLM and Prolog, but Autoencoders and ILP. >>>>> But its tricky, I am still trying to decode the da Vinci code of >>>>> >>>>> things like stacked tensors, are they related to k-literal clauses? >>>>> The paper I referenced is found in this excellent video: >>>>> >>>>> The Making of ChatGPT (35 Year History) >>>>> https://www.youtube.com/watch?v=OFS90-FX6pg >>>>> >>>> >>> >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-29 13:32 +0200 |
| Subject | Missed the AI Boom because missed the Emojis (Was: Prolog totally missed the AI Boom) |
| Message-ID | <103r887$1fl6q$1@solani.org> |
| In reply to | #14451 |
> Those that use a large part pay a pretty
> high price in terms of memory and currently
> also time for code points > 0xffff
Emojis are typically above 0xffff. And from this
announcement its seem, Emojis are a big part with
keeping up with the AI Boom:
> :rocket: Call for Papers: Integrating Logical
> Reasoning & Large Language Models (LLMs) :brain:
>
> https://swi-prolog.discourse.group/t/9065
But it would cost you nothing to support this here in library(portray_text):
/* SWI-Prolog 9.3.24 */
?- X = [a,b,c]
X = `abc`
It is extremly trivial to implement, its not really
rocket science. It doesn need much brains and
it works also for Emojis:
/* Scryer Prolog 0.9.4-411 */
?- X = [a,b,c].
X = "abc".
?- X = ['🚀', a, '🧠', b, c].
X = "🚀a🧠bc".
In Scryer Prolog it shows double quotes and not
back quotes, because of the different default settings
of the Prolog flags double_quotes and back_quotes.
Mild Shock schrieb:
>
> Inductive logic programming at 30
> https://arxiv.org/abs/2102.10556
>
> The paper contains not a single reference to autoencoders!
> Still they show this example:
>
> Fig. 1 ILP systems struggle with structured examples that
> exhibit observational noise. All three examples clearly
> spell the word "ILP", with some alterations: 3 noisy pixels,
> shifted and elongated letters. If we would be to learn a
> program that simply draws "ILP" in the middle of the picture,
> without noisy pixels and elongated letters, that would
> be a correct program.
>
> I guess ILP is 30 years behind the AI boom. An early autoencoder
> turned into transformer was already reported here (*):
>
> SERIAL ORDER, Michael I. Jordan - May 1986
> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>
> Well ILP might have its merits, maybe we should not ask
> for a marriage of LLM and Prolog, but Autoencoders and ILP.
> But its tricky, I am still trying to decode the da Vinci code of
>
> things like stacked tensors, are they related to k-literal clauses?
> The paper I referenced is found in this excellent video:
>
> The Making of ChatGPT (35 Year History)
> https://www.youtube.com/watch?v=OFS90-FX6pg
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-29 13:36 +0200 |
| Subject | Bonus in Trealla Prolog, different Tokenizer (Was: Missed the AI Boom because missed the Emojis) |
| Message-ID | <103r8fu$1fl9a$1@solani.org> |
| In reply to | #14606 |
Bonus in Trealla Prolog, which has a dfferent
Prolog system Tokenzier for Prolog texts, different
from Scryer Prolog more Unicode embracing,
there you can even do:
/* Trealla Prolog 2.77.9-1 */
?- X = [🚀, a, 🧠, b, c].
X = "🚀a🧠bc".
Mild Shock schrieb:
>
> > Those that use a large part pay a pretty
> > high price in terms of memory and currently
> > also time for code points > 0xffff
>
> Emojis are typically above 0xffff. And from this
> announcement its seem, Emojis are a big part with
> keeping up with the AI Boom:
>
> > :rocket: Call for Papers: Integrating Logical
> > Reasoning & Large Language Models (LLMs) :brain:
> >
> > https://swi-prolog.discourse.group/t/9065
>
> But it would cost you nothing to support this here in
> library(portray_text):
>
> /* SWI-Prolog 9.3.24 */
> ?- X = [a,b,c]
> X = `abc`
>
> It is extremly trivial to implement, its not really
> rocket science. It doesn need much brains and
> it works also for Emojis:
>
> /* Scryer Prolog 0.9.4-411 */
> ?- X = [a,b,c].
> X = "abc".
> ?- X = ['🚀', a, '🧠', b, c].
> X = "🚀a🧠bc".
>
> In Scryer Prolog it shows double quotes and not
> back quotes, because of the different default settings
> of the Prolog flags double_quotes and back_quotes.
>
> Mild Shock schrieb:
>>
>> Inductive logic programming at 30
>> https://arxiv.org/abs/2102.10556
>>
>> The paper contains not a single reference to autoencoders!
>> Still they show this example:
>>
>> Fig. 1 ILP systems struggle with structured examples that
>> exhibit observational noise. All three examples clearly
>> spell the word "ILP", with some alterations: 3 noisy pixels,
>> shifted and elongated letters. If we would be to learn a
>> program that simply draws "ILP" in the middle of the picture,
>> without noisy pixels and elongated letters, that would
>> be a correct program.
>>
>> I guess ILP is 30 years behind the AI boom. An early autoencoder
>> turned into transformer was already reported here (*):
>>
>> SERIAL ORDER, Michael I. Jordan - May 1986
>> https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf
>>
>> Well ILP might have its merits, maybe we should not ask
>> for a marriage of LLM and Prolog, but Autoencoders and ILP.
>> But its tricky, I am still trying to decode the da Vinci code of
>>
>> things like stacked tensors, are they related to k-literal clauses?
>> The paper I referenced is found in this excellent video:
>>
>> The Making of ChatGPT (35 Year History)
>> https://www.youtube.com/watch?v=OFS90-FX6pg
>>
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-06-29 16:35 +0200 |
| Subject | Science is not prepared for the AI Revolution (Was: Prolog totally missed the AI Boom) |
| Message-ID | <103rivn$1frqg$1@solani.org> |
| In reply to | #14451 |
Hi, How it started, total humbug: Quantentheorie und "Ich" - Gary B. Schmid (2017) https://cropfm.at/archive/show/quantenich How its going, a little better: A Science without Free Will - Robert M. Sapolsky (2023) https://www.amazon.de/dp/0525560971 Bye Mild Shock schrieb: > > Inductive logic programming at 30 > https://arxiv.org/abs/2102.10556 > > The paper contains not a single reference to autoencoders! > Still they show this example: > > Fig. 1 ILP systems struggle with structured examples that > exhibit observational noise. All three examples clearly > spell the word "ILP", with some alterations: 3 noisy pixels, > shifted and elongated letters. If we would be to learn a > program that simply draws "ILP" in the middle of the picture, > without noisy pixels and elongated letters, that would > be a correct program. > > I guess ILP is 30 years behind the AI boom. An early autoencoder > turned into transformer was already reported here (*): > > SERIAL ORDER, Michael I. Jordan - May 1986 > https://cseweb.ucsd.edu/~gary/PAPER-SUGGESTIONS/Jordan-TR-8604-OCRed.pdf > > Well ILP might have its merits, maybe we should not ask > for a marriage of LLM and Prolog, but Autoencoders and ILP. > But its tricky, I am still trying to decode the da Vinci code of > > things like stacked tensors, are they related to k-literal clauses? > The paper I referenced is found in this excellent video: > > The Making of ChatGPT (35 Year History) > https://www.youtube.com/watch?v=OFS90-FX6pg >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-09 01:55 +0200 |
| Subject | Bart Demoen's amageddon revisited (Was: Prolog totally missed the AI Boom) |
| Message-ID | <104kb4n$1u3rf$1@solani.org> |
| In reply to | #14451 |
Hi, That Prolog missed the AI Boom is quite amazing, given that neural networks have a lot to do with physics, and there were even Prologers with a physics PhD, well almost if there werent a typo: > Name: Bart Demoen > Dissertation: Stability and Equilibrium for Clasical infinite Systems > Advisor: Andre Frans Maria Verbeure > https://www.genealogy.math.ndsu.nodak.edu/id.php?id=70951 What does Clasical mean? But then there is a famous test case, which can melt Bart Demoen's brain: > Gap in Section 7.6.2 and some Insecurity Arising from it > > ?- call((Z=!, a(X), Z)). > Z = ! > X = 1 ?; > Z = ! > X = 2 > yes > > ?- findall(Z-X,call((Z=!, a(X), Z)),L). > L = [!-1] > > https://groups.google.com/g/comp.lang.prolog/c/FNou9Z-A_Zs/m/NSSTmbx4E4wJ Bart Demoen's memorable reaction in 04.11.2011, 23:06:47 was: > PLEASE, DO NOT ALARM THIS NEWSGROUP ABOUT "FUNNY" RESULTS > WITHOUT TELLING US WHICH SYSTEM CAUSED THE RESULTS LoL Bye Mild Shock schrieb: > > Inductive logic programming at 30 > https://arxiv.org/abs/2102.10556 > > The paper contains not a single reference to autoencoders!
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-09 02:08 +0200 |
| Subject | Long story short: Not everybody was blended by Bart Demoen (Was: Bart Demoen's amageddon revisited) |
| Message-ID | <104kbtm$1u4ai$1@solani.org> |
| In reply to | #14621 |
Hi, Although Paulo Moura followed the lead of Bart Demoen and started mobbing me. Many people were rather shaking their head over Bart Demoen. When Bart Demoen posted: > Programming vs. Specification > > ?- X = a, setof(Y, p(X, Y), S). > and > ?- setof(Y, p(X, Y), S), X = a. > > not for the following definition of p/2: > > p(b,1) :- ! . > p(_,2) . Fernando Pereira, sighted: > Sigh... We were discussing *logical* advantages. > Of course setof cannot give a declarative reading > to a program that doesn't have one to start with. > > https://groups.google.com/g/comp.lang.prolog/c/-oerQs4l2Zw/m/v0kjwLIwuI0J Bye Mild Shock schrieb: > Hi, > > That Prolog missed the AI Boom is quite amazing, > given that neural networks have a lot to do > with physics, and there were even Prologers with > > a physics PhD, well almost if there werent a typo: > > > Name: Bart Demoen > > Dissertation: Stability and Equilibrium for Clasical infinite Systems > > Advisor: Andre Frans Maria Verbeure > > https://www.genealogy.math.ndsu.nodak.edu/id.php?id=70951 > > What does Clasical mean? But then there is a famous > test case, which can melt Bart Demoen's brain: > > > Gap in Section 7.6.2 and some Insecurity Arising from it > > > > ?- call((Z=!, a(X), Z)). > > Z = ! > > X = 1 ?; > > Z = ! > > X = 2 > > yes > > > > ?- findall(Z-X,call((Z=!, a(X), Z)),L). > > L = [!-1] > > > > > https://groups.google.com/g/comp.lang.prolog/c/FNou9Z-A_Zs/m/NSSTmbx4E4wJ > > Bart Demoen's memorable reaction in 04.11.2011, 23:06:47 was: > > > PLEASE, DO NOT ALARM THIS NEWSGROUP ABOUT "FUNNY" RESULTS > > WITHOUT TELLING US WHICH SYSTEM CAUSED THE RESULTS > > LoL > > Bye > > Mild Shock schrieb: >> >> Inductive logic programming at 30 >> https://arxiv.org/abs/2102.10556 >> >> The paper contains not a single reference to autoencoders!
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-09 02:12 +0200 |
| Subject | On last sample: Barty Boy in full swing (Re: Long story short: Not everybody was blended by Bart Demoen) |
| Message-ID | <104kc5s$1u4cr$1@solani.org> |
| In reply to | #14623 |
Hi, Ok, one last sample, barty boy in full swing: > Oh, but you did much better: you tried to ridicule > my research, my home country and the size of my > Prolog programs. I can't match that. > > https://groups.google.com/g/comp.lang.prolog/c/uh_HUytRGJE/m/tXc7euv1KngJ So he got into struggle with industry? I would add not only small programms, but also a micro penis and an empty head. LoL Bye Mild Shock schrieb: > Hi, > > Although Paulo Moura followed the lead of Bart > Demoen and started mobbing me. Many people were > rather shaking their head over Bart Demoen. > > When Bart Demoen posted: > > > Programming vs. Specification > > > > ?- X = a, setof(Y, p(X, Y), S). > > and > > ?- setof(Y, p(X, Y), S), X = a. > > > > not for the following definition of p/2: > > > > p(b,1) :- ! . > > p(_,2) . > > Fernando Pereira, sighted: > > > Sigh... We were discussing *logical* advantages. > > Of course setof cannot give a declarative reading > > to a program that doesn't have one to start with. > > > > > https://groups.google.com/g/comp.lang.prolog/c/-oerQs4l2Zw/m/v0kjwLIwuI0J > > Bye > > Mild Shock schrieb: >> Hi, >> >> That Prolog missed the AI Boom is quite amazing, >> given that neural networks have a lot to do >> with physics, and there were even Prologers with >> >> a physics PhD, well almost if there werent a typo: >> >> > Name: Bart Demoen >> > Dissertation: Stability and Equilibrium for Clasical infinite Systems >> > Advisor: Andre Frans Maria Verbeure >> > https://www.genealogy.math.ndsu.nodak.edu/id.php?id=70951 >> >> What does Clasical mean? But then there is a famous >> test case, which can melt Bart Demoen's brain: >> >> > Gap in Section 7.6.2 and some Insecurity Arising from it >> > >> > ?- call((Z=!, a(X), Z)). >> > Z = ! >> > X = 1 ?; >> > Z = ! >> > X = 2 >> > yes >> > >> > ?- findall(Z-X,call((Z=!, a(X), Z)),L). >> > L = [!-1] >> > >> > >> https://groups.google.com/g/comp.lang.prolog/c/FNou9Z-A_Zs/m/NSSTmbx4E4wJ >> >> Bart Demoen's memorable reaction in 04.11.2011, 23:06:47 was: >> >> > PLEASE, DO NOT ALARM THIS NEWSGROUP ABOUT "FUNNY" RESULTS >> > WITHOUT TELLING US WHICH SYSTEM CAUSED THE RESULTS >> >> LoL >> >> Bye >> >> Mild Shock schrieb: >>> >>> Inductive logic programming at 30 >>> https://arxiv.org/abs/2102.10556 >>> >>> The paper contains not a single reference to autoencoders! >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-09 02:23 +0200 |
| Subject | I hope he doesn't get a heart attack (Was: On last sample: Barty Boy in full swing) |
| Message-ID | <104kcp5$1u4ri$1@solani.org> |
| In reply to | #14624 |
Hi, I hope he doesn't get a heart attack. But he really made it too easy for me: > Isaiah 30:8 (NIV): “Go now, write it > on a tablet for them, inscribe it on a > scroll, that for days to come it may > be an everlasting witness.” Enjoy your free time: > Bart Demoen retired ... > I retired on 1 october 2018. > https://people.cs.kuleuven.be/~bart.demoen/ Its not that comp.lang.prolog would somehow track people and their biography. This was my little contribution. Bye Mild Shock schrieb: > Hi, > > Ok, one last sample, barty boy in full swing: > > > Oh, but you did much better: you tried to ridicule > > my research, my home country and the size of my > > Prolog programs. I can't match that. > > > > > https://groups.google.com/g/comp.lang.prolog/c/uh_HUytRGJE/m/tXc7euv1KngJ > > So he got into struggle with industry? I would > add not only small programms, but also a micro > penis and an empty head. > > LoL > > Bye > > Mild Shock schrieb: >> Hi, >> >> Although Paulo Moura followed the lead of Bart >> Demoen and started mobbing me. Many people were >> rather shaking their head over Bart Demoen. >> >> When Bart Demoen posted: >> >> > Programming vs. Specification >> > >> > ?- X = a, setof(Y, p(X, Y), S). >> > and >> > ?- setof(Y, p(X, Y), S), X = a. >> > >> > not for the following definition of p/2: >> > >> > p(b,1) :- ! . >> > p(_,2) . >> >> Fernando Pereira, sighted: >> >> > Sigh... We were discussing *logical* advantages. >> > Of course setof cannot give a declarative reading >> > to a program that doesn't have one to start with. >> > >> > >> https://groups.google.com/g/comp.lang.prolog/c/-oerQs4l2Zw/m/v0kjwLIwuI0J >> >> Bye >> >> Mild Shock schrieb: >>> Hi, >>> >>> That Prolog missed the AI Boom is quite amazing, >>> given that neural networks have a lot to do >>> with physics, and there were even Prologers with >>> >>> a physics PhD, well almost if there werent a typo: >>> >>> > Name: Bart Demoen >>> > Dissertation: Stability and Equilibrium for Clasical infinite Systems >>> > Advisor: Andre Frans Maria Verbeure >>> > https://www.genealogy.math.ndsu.nodak.edu/id.php?id=70951 >>> >>> What does Clasical mean? But then there is a famous >>> test case, which can melt Bart Demoen's brain: >>> >>> > Gap in Section 7.6.2 and some Insecurity Arising from it >>> > >>> > ?- call((Z=!, a(X), Z)). >>> > Z = ! >>> > X = 1 ?; >>> > Z = ! >>> > X = 2 >>> > yes >>> > >>> > ?- findall(Z-X,call((Z=!, a(X), Z)),L). >>> > L = [!-1] >>> > >>> > >>> https://groups.google.com/g/comp.lang.prolog/c/FNou9Z-A_Zs/m/NSSTmbx4E4wJ >>> >>> >>> Bart Demoen's memorable reaction in 04.11.2011, 23:06:47 was: >>> >>> > PLEASE, DO NOT ALARM THIS NEWSGROUP ABOUT "FUNNY" RESULTS >>> > WITHOUT TELLING US WHICH SYSTEM CAUSED THE RESULTS >>> >>> LoL >>> >>> Bye >>> >>> Mild Shock schrieb: >>>> >>>> Inductive logic programming at 30 >>>> https://arxiv.org/abs/2102.10556 >>>> >>>> The paper contains not a single reference to autoencoders! >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-10 19:17 +0200 |
| Subject | Would Poincaré miss the AI Boom (Was: Prolog totally missed the AI Boom) |
| Message-ID | <104osio$2281u$1@solani.org> |
| In reply to | #14451 |
Henri Poincaré believed that mathematical and scientific creativity came from a deep, unconscious intuition that could not be captured by mechanical reasoning or formal systems. He famously wrote about how insights came not from plodding logic but from sudden illuminations — leaps of creative synthesis. But now we have generative AI — models like GPT — that: - produce poetry, proofs, stories, and code, - combine ideas in novel ways, - and do so by processing patterns in massive datasets, without conscious understanding. And that does seem to contradict Poincaré's belief that true invention cannot come from automation. Mild Shock schrieb: > Hi, > > But I shouldn't waste too much time. > One shouldn't punish people for just > being plain stupid. > > Like for example this clueless french > philosopher who had a lot of troubles > with non-classical logic. > > His brain tried to eliminate non-classical > logic, it was keen on avoiding non-classical > logic. A typical species of a human with > > an extremly small brain, again working > in the wrong place! > > Bye > > P.S.: Maybe this a Poincaré thingy? Poincaré > was a strong critic of logicism (as championed > by Frege and Russell) and of Hilbert’s > formalist program. > > But, he did not formally use or promote systems > like intuitionistic logic, modal logic, or > relevance logic. His logical framework remained > within the bounds of classical logic, > > though he was skeptical of excessive formalism. > He thought formal systems could miss the creative > and synthetic nature of mathematical > invention.
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-10 21:22 +0200 |
| Subject | The ideal choice point as a logical formula (Was: Would Poincaré miss the AI Boom) |
| Message-ID | <104p3so$22dce$1@solani.org> |
| In reply to | #14644 |
Hi,
This is nothing for Bart Demoen, Physics PhD,
academic fraud. The ideal choice point can
be formulated as a logical formula, involving
an existential quantifier. Assume we have
a query and already these answers, and the
Prolog system is prompting the interactive user:
?- p(X).
X = a1 ;
X = a2 ;
...
X = ak-1 ;
X = ak
A mathematical oracle that could indicate whether
it is even necessary to prompt the user could be:
∃X ( p(X) & X =\= a1 & ... & X =\= ak)
It doesn't match 100% Prolog since Prolog might
give duplicate answers or non-ground answers,
but assume for the moment the query q(X),
produces only distinct and ground results.
Nice existential FOL formula we have in the above.
Bye
Mild Shock schrieb:
>
> Henri Poincaré believed that mathematical
> and scientific creativity came from a deep,
> unconscious intuition that could not be
>
> captured by mechanical reasoning or formal
> systems. He famously wrote about how insights
> came not from plodding logic but from sudden
>
> illuminations — leaps of creative synthesis.
>
> But now we have generative AI — models like GPT — that:
>
> - produce poetry, proofs, stories, and code,
>
> - combine ideas in novel ways,
>
> - and do so by processing patterns in massive
> datasets, without conscious understanding.
>
> And that does seem to contradict Poincaré's belief
> that true invention cannot come from automation.
>
> Mild Shock schrieb:
>> Hi,
>>
>> But I shouldn't waste too much time.
>> One shouldn't punish people for just
>> being plain stupid.
>>
>> Like for example this clueless french
>> philosopher who had a lot of troubles
>> with non-classical logic.
>>
>> His brain tried to eliminate non-classical
>> logic, it was keen on avoiding non-classical
>> logic. A typical species of a human with
>>
>> an extremly small brain, again working
>> in the wrong place!
>>
>> Bye
>>
>> P.S.: Maybe this a Poincaré thingy? Poincaré
>> was a strong critic of logicism (as championed
>> by Frege and Russell) and of Hilbert’s
>> formalist program.
>>
>> But, he did not formally use or promote systems
>> like intuitionistic logic, modal logic, or
>> relevance logic. His logical framework remained
>> within the bounds of classical logic,
>>
>> though he was skeptical of excessive formalism.
>> He thought formal systems could miss the creative
>> and synthetic nature of mathematical
>> invention.
>
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-10 21:30 +0200 |
| Subject | What is practical choice point eliminaton then? (Was: The ideal choice point as a logical formula) |
| Message-ID | <104p4cr$22dou$1@solani.org> |
| In reply to | #14645 |
Hi, Now what does a Prolog system do? Well when it prompts the end-user it has somewhere a list of the current query choice points: CPs = [CP1, CP2, .., CPn] This is implementation specific, what choice points a system creates, also the ISO core standard shows a machine in its more procedural explanation, that depicts something that has also somewhere choice points. Since it is implementation specific a Prolog System A and Prolog System B might use different choice points: System A: CPs = [CP1, CP2, .., CPn] System B: CP's = [CP'1, CP'2, .., CP'n] We say a System B could eliminate a choice point CP, relative to a System A, if we have: System A: CP ∈ CPs System B: CP ∉ CPs So System B might have an advantage over System A, since it will not backtrack over CP. When it comes to answer substitution display, it is now very common, that a Prolog system checks its own choice points, and when it finds that CP = [] It knows that the query left no choice points, either because there were never any, because there was no branching in the executed code, or because a cut removed branching, or because they were eliminated somehow. Like through some index analysis. Bye Mild Shock schrieb: > Hi, > > This is nothing for Bart Demoen, Physics PhD, > academic fraud. The ideal choice point can > be formulated as a logical formula, involving > > an existential quantifier. Assume we have > a query and already these answers, and the > Prolog system is prompting the interactive user: > > ?- p(X). > X = a1 ; > X = a2 ; > ... > X = ak-1 ; > X = ak > > A mathematical oracle that could indicate whether > it is even necessary to prompt the user could be: > > ∃X ( p(X) & X =\= a1 & ... & X =\= ak) > > It doesn't match 100% Prolog since Prolog might > give duplicate answers or non-ground answers, > but assume for the moment the query q(X), > > produces only distinct and ground results. > Nice existential FOL formula we have in the above. > > Bye > > Mild Shock schrieb: >> >> Henri Poincaré believed that mathematical >> and scientific creativity came from a deep, >> unconscious intuition that could not be >> >> captured by mechanical reasoning or formal >> systems. He famously wrote about how insights >> came not from plodding logic but from sudden >> >> illuminations — leaps of creative synthesis. >> >> But now we have generative AI — models like GPT — that: >> >> - produce poetry, proofs, stories, and code, >> >> - combine ideas in novel ways, >> >> - and do so by processing patterns in massive >> datasets, without conscious understanding. >> >> And that does seem to contradict Poincaré's belief >> that true invention cannot come from automation. >> >> Mild Shock schrieb: >>> Hi, >>> >>> But I shouldn't waste too much time. >>> One shouldn't punish people for just >>> being plain stupid. >>> >>> Like for example this clueless french >>> philosopher who had a lot of troubles >>> with non-classical logic. >>> >>> His brain tried to eliminate non-classical >>> logic, it was keen on avoiding non-classical >>> logic. A typical species of a human with >>> >>> an extremly small brain, again working >>> in the wrong place! >>> >>> Bye >>> >>> P.S.: Maybe this a Poincaré thingy? Poincaré >>> was a strong critic of logicism (as championed >>> by Frege and Russell) and of Hilbert’s >>> formalist program. >>> >>> But, he did not formally use or promote systems >>> like intuitionistic logic, modal logic, or >>> relevance logic. His logical framework remained >>> within the bounds of classical logic, >>> >>> though he was skeptical of excessive formalism. >>> He thought formal systems could miss the creative >>> and synthetic nature of mathematical >>> invention. >> >
[toc] | [prev] | [next] | [standalone]
| From | Mild Shock <janburse@fastmail.fm> |
|---|---|
| Date | 2025-07-10 21:35 +0200 |
| Subject | Relation of the practical to the mathematical oracle (Was: What is practical choice point eliminaton then?) |
| Message-ID | <104p4lv$22dsf$1@solani.org> |
| In reply to | #14646 |
Hi, Now one might ask, if we have a Prolog system that anyway juggles with choice points, why would we need a logical formula for choice points? Well there is a funny correctness criteria, for example in the top-level, if the top-level doesn't prompt the end user anymore in such a scenario: ?- p(X). X = a1 ; X = a2 ; ... X = ak-1 ; X = ak So the end user is not prompted because the Prolog system founds CP = []. This is licensed by this correctness statement for any choice point elimination: CP = [] => ~∃X ( p(X) & X =\= a1 & ... & X =\= ak) Have Fun! Bye Mild Shock schrieb: > Hi, > > Now what does a Prolog system do? Well when > it prompts the end-user it has somewhere > a list of the current query choice points: > > CPs = [CP1, CP2, .., CPn] > > This is implementation specific, what choice > points a system creates, also the ISO core standard > shows a machine in its more procedural explanation, > > that depicts something that has also somewhere > choice points. Since it is implementation specific > a Prolog System A and Prolog System B might > > use different choice points: > > System A: > CPs = [CP1, CP2, .., CPn] > > System B: > CP's = [CP'1, CP'2, .., CP'n] > > We say a System B could eliminate a choice point CP, > relative to a System A, if we have: > > System A: > CP ∈ CPs > > System B: > CP ∉ CPs > > So System B might have an advantage over System A, > since it will not backtrack over CP. > > When it comes to answer substitution display, > it is now very common, that a Prolog system checks > its own choice points, and when it finds that > > CP = [] > > It knows that the query left no choice points, > either because there were never any, because > there was no branching in the executed code, or > > because a cut removed branching, or because > they were eliminated somehow. Like through > some index analysis. > > Bye > > Mild Shock schrieb: >> Hi, >> >> This is nothing for Bart Demoen, Physics PhD, >> academic fraud. The ideal choice point can >> be formulated as a logical formula, involving >> >> an existential quantifier. Assume we have >> a query and already these answers, and the >> Prolog system is prompting the interactive user: >> >> ?- p(X). >> X = a1 ; >> X = a2 ; >> ... >> X = ak-1 ; >> X = ak >> >> A mathematical oracle that could indicate whether >> it is even necessary to prompt the user could be: >> >> ∃X ( p(X) & X =\= a1 & ... & X =\= ak) >> >> It doesn't match 100% Prolog since Prolog might >> give duplicate answers or non-ground answers, >> but assume for the moment the query q(X), >> >> produces only distinct and ground results. >> Nice existential FOL formula we have in the above. >> >> Bye >> >> Mild Shock schrieb: >>> >>> Henri Poincaré believed that mathematical >>> and scientific creativity came from a deep, >>> unconscious intuition that could not be >>> >>> captured by mechanical reasoning or formal >>> systems. He famously wrote about how insights >>> came not from plodding logic but from sudden >>> >>> illuminations — leaps of creative synthesis. >>> >>> But now we have generative AI — models like GPT — that: >>> >>> - produce poetry, proofs, stories, and code, >>> >>> - combine ideas in novel ways, >>> >>> - and do so by processing patterns in massive >>> datasets, without conscious understanding. >>> >>> And that does seem to contradict Poincaré's belief >>> that true invention cannot come from automation. >>> >>> Mild Shock schrieb: >>>> Hi, >>>> >>>> But I shouldn't waste too much time. >>>> One shouldn't punish people for just >>>> being plain stupid. >>>> >>>> Like for example this clueless french >>>> philosopher who had a lot of troubles >>>> with non-classical logic. >>>> >>>> His brain tried to eliminate non-classical >>>> logic, it was keen on avoiding non-classical >>>> logic. A typical species of a human with >>>> >>>> an extremly small brain, again working >>>> in the wrong place! >>>> >>>> Bye >>>> >>>> P.S.: Maybe this a Poincaré thingy? Poincaré >>>> was a strong critic of logicism (as championed >>>> by Frege and Russell) and of Hilbert’s >>>> formalist program. >>>> >>>> But, he did not formally use or promote systems >>>> like intuitionistic logic, modal logic, or >>>> relevance logic. His logical framework remained >>>> within the bounds of classical logic, >>>> >>>> though he was skeptical of excessive formalism. >>>> He thought formal systems could miss the creative >>>> and synthetic nature of mathematical >>>> invention. >>> >> >
[toc] | [prev] | [next] | [standalone]
Page 2 of 4 — ← Prev page 1 [2] 3 4 Next page →
Back to top | Article view | comp.lang.prolog
csiph-web