Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.prolog > #14451 > unrolled thread

Prolog totally missed the AI Boom

Started byMild Shock <janburse@fastmail.fm>
First post2025-02-22 13:05 +0100
Last post2025-11-02 13:20 +0100
Articles 20 on this page of 66 — 1 participant

Back to article view | Back to comp.lang.prolog


Contents

  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 →


#14654 — Is there a Swiss Army Knife of launching a Prolog system (Was: Most radical approach is Novacore from Dogelog Player)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-13 15:17 +0200
SubjectIs 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]


#14655 — An -e option could be the more rational choice (Was: Is there a Swiss Army Knife of launching a Prolog system)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-13 15:19 +0200
SubjectAn -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]


#14689 — Prolog Cycle detection in the Top-Level (Was: Most radical approach is Novacore from Dogelog Player)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-20 13:39 +0200
SubjectProlog 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]


#14690 — What does SWI-Prolog / Ciao Prolog produce? (Was: Prolog Cycle detection in the Top-Level)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-20 13:43 +0200
SubjectWhat 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]


#14582 — Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-23 20:33 +0200
SubjectDo 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]


#14583 — Typo:: Do not give dogs what is holy [Matthew 7:6] (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-23 20:38 +0200
SubjectTypo:: 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]


#14584 — What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)] (Was: Typo:: Do not give dogs what is holy)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-23 21:16 +0200
SubjectWhat 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]


#14585 — Avoid the cheap tricks by Scryer Prolog (Was: What WG17 could do to prevent segregation [DEC-10 Prolog (10 November 1982)])

FromMild Shock <janburse@fastmail.fm>
Date2025-06-23 22:19 +0200
SubjectAvoid 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]


#14586 — Why tuck the tail in front of a false Messias (Was: Avoid the cheap tricks by Scryer Prolog)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-23 22:20 +0200
SubjectWhy 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]


#14606 — Missed the AI Boom because missed the Emojis (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-29 13:32 +0200
SubjectMissed 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]


#14607 — Bonus in Trealla Prolog, different Tokenizer (Was: Missed the AI Boom because missed the Emojis)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-29 13:36 +0200
SubjectBonus 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]


#14608 — Science is not prepared for the AI Revolution (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-06-29 16:35 +0200
SubjectScience 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]


#14621 — Bart Demoen's amageddon revisited (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-09 01:55 +0200
SubjectBart 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]


#14623 — Long story short: Not everybody was blended by Bart Demoen (Was: Bart Demoen's amageddon revisited)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-09 02:08 +0200
SubjectLong 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]


#14624 — On last sample: Barty Boy in full swing (Re: Long story short: Not everybody was blended by Bart Demoen)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-09 02:12 +0200
SubjectOn 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]


#14625 — I hope he doesn't get a heart attack (Was: On last sample: Barty Boy in full swing)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-09 02:23 +0200
SubjectI 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]


#14644 — Would Poincaré miss the AI Boom (Was: Prolog totally missed the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-10 19:17 +0200
SubjectWould 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]


#14645 — The ideal choice point as a logical formula (Was: Would Poincaré miss the AI Boom)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-10 21:22 +0200
SubjectThe 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]


#14646 — What is practical choice point eliminaton then? (Was: The ideal choice point as a logical formula)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-10 21:30 +0200
SubjectWhat 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]


#14647 — Relation of the practical to the mathematical oracle (Was: What is practical choice point eliminaton then?)

FromMild Shock <janburse@fastmail.fm>
Date2025-07-10 21:35 +0200
SubjectRelation 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