Deutsch   English   Français   Italiano  
<vr19l8$1fc6b$3@solani.org>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.roellig-ltd.de!open-news-network.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: Mild Shock <janburse@fastmail.fm>
Newsgroups: sci.math
Subject: Re: Not only $TSLA is on fire sale! [The Decline of Prolog] (Was:
 imogen, intuitRIL and SuperL)
Date: Fri, 14 Mar 2025 14:06:50 +0100
Message-ID: <vr19l8$1fc6b$3@solani.org>
References: <vivm3q$t816$3@solani.org> <vj2hud$up1o$3@solani.org>
 <vr1814$1fbek$2@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 14 Mar 2025 13:06:48 -0000 (UTC)
Injection-Info: solani.org;
	logging-data="1552587"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101
 Firefox/128.0 SeaMonkey/2.53.20
Cancel-Lock: sha1:oIA+2WmSsa8FfCQ59r1VYK4Lke4=
In-Reply-To: <vr1814$1fbek$2@solani.org>
X-User-ID: eJwNxEkBwDAIBEBLJcACcrjiX0I6j1EGoU2gEL16Y1OcLGwB8sgzWCMuZKdaTDbPov6GquMTuuVgnFlnQjxYWxWp
Bytes: 6708
Lines: 177

Maybe real Prologers that could code it correctly,
are now an endangered species, on the brink of getting
extinct? I easily find a 40 year old reference that

shows how to symbolically compute with multivariate
polynomials. It doesn’t have the same problem as the
bug in PRESS that it cannot render (1+x) + -1 as x:

Haygood, R. (1989): A Prolog Benchmark Suite for Aquarius,
Computer Science Division, University of California
Berkely, April 30, 1989, See “poly”

The Prolog code is rooted in some Lisp code by
R.P. Gabriel. The Python code of sympy wont do much
else in its class Poly, than using a recursive dense
representations and term orderings.

If only simplification and no division is needed,
then only canonicalization is needed. Handing over
expressions to Python might be useful to factorize
polynomials or to compute Gröbner basis,

since Prolog libraries for that are more rare. On
the other hand I think the entry level for a simplification
in Prolog itself, should not be so high. But education in
this direction could have been already died out.

Mild Shock schrieb:
> Hi,
> 
> Not only $TSLA is on fire sale! Also
> Prolog system have capitualted long ago.
> Scryer Prolog and Trealla Prolog copy
> 
> some old CLP(X) nonsense based on attributed
> variables. SWI-Prolog isn't better off.
> Basically the USA and their ICLP venue
> 
> is dumbing down all of Prolog development,
> so that nonsense such as this is published:
> 
> Automatic Differentiation in Prolog
> Schrijvers Tom et. al - 2023
> https://arxiv.org/pdf/2305.07878
> 
> It has the most stupid conclusion.
> 
> "In future work we plan to explore Prolog’s meta-
> programming facilities (e.g., term expansion) to
> implement partial evaluation of revad/5 calls on
> known expressions. We also wish to develop further
> applications on top of our AD approach, such as
> Prolog-based neural networks and integration with
> existing probabilistic logic programming languages."
> 
> As if term expansion would do anything good
> concerning the evaluation or training of neural
> networks. They are totally clueless!
> 
> Bye
> 
> P.S.: The stupidity is even topped, that people
> have unlearned how to do symbolic algebra
> in Prolog itself. They are not able to code it:
> 
> ?- simplify(x+x+y-y,E).
> E = number(2)*x+y-y
> 
>  > Simplification is hard (IMO).
> 
> Instead they are now calling Python:
> 
> sym(A * B, S) :-
>      !, sym(A, A1),
>      sym(B, B1),
>      py_call(operator:mul(A1, B1), S).
> 
> mys(S, A * B) :-
>      py_call(sympy:'Mul', Mul),
>      py_call(isinstance(S, Mul), @(true)),
>      !, py_call(S:args, A0-B0),
>      mys(A0, A),
>      mys(B0, B).
> 
> Etc..
> 
> sympy(A, R) :-
>      sym(A, S),
>      mys(S, R).
> 
> ?- sympy(x + y + 1 + x + y + -1, S).
> S = 2*x+2*y ;
> 
> This is the final nail in the coffin, the declaration
> of the complete decline of Prolog. Full proof that
> SWI-Prolog Janus is indicative that we have reached
> 
> the valley of idiocracy in Prolog. And that there
> are no more capable Prologers around.
> 
> Mild Shock schrieb:
>> Hi,
>>
>> But its funny that people still work on UNSAT,
>> because its known that SAT is NP complete.
>>
>> But don't worry, I sometimes do the same.
>> Imogen seems to chocke on SYJ202:
>>
>>    SYJ202+1.005.imo     Provable.    Time: 2.129
>>    SYJ202+1.006.imo     Provable.    Time: 3.790
>>    SYJ202+1.007.imo     Provable.    Time: 16.222
>>    SYJ202+1.008.imo     Provable.    Time: 143.802
>>
>> I assume its just the same problem linearly growing,
>> but the time is exponential or something.
>>
>> BTW: Complexity for intuitionistic propositional logic
>> is even worse, its PSPACE complete. Here a recent
>>
>> attempt featuring intuitRIL and SuperL
>>
>> Implementing Intermediate Logics
>> https://iltp.de/ARQNL-2024/download/proceedings_preli/2_ARQNL_2024_paper_8.pdf 
>>
>>
>> Have Fun!
>>
>> Bye
>>
>>
>> Mild Shock schrieb:
>>> This code here doesn’t make much sense:
>>>
>>> prove(L --> R):-
>>>      member(A => B,L),
>>>      del(A => B,L,NewL),!,
>>>
>>> One can combine member/2 and del/3 into select/3. select/3
>>> together with member/2 is part of the Prologue to Prolog:
>>>
>>> *A Prologue for Prolog (working draft)*
>>> https://www.complang.tuwien.ac.at/ulrich/iso-prolog/prologue
>>>
>>> So if I further strip away using a two sided sequent,
>>> I can implement Hoa Wangs implication fagment:
>>>
>>> P1. Initial rule: if λ, ζ are strings of atomic
>>> formulae, then λ -> ζ is a theorem if some atomic
>>> formula occurs an both sides of the arrow.
>>>
>>> P5a. Rule —> =>    If ζ, φ -> λ, ψ, ρ, then ζ -> λ, φ => ψ, ρ
>>> P5b. Rule => -> If λ, ψ, ρ -> π and λ, ρ -> π, φ then λ, φ => ψ, ρ -> π
>>>
>>> (Hao Wang. Toward Mechanical Mathematics. IBM
>>> Journal of Research and Development 4:1 (1960), 15.)
>>>
>>> as follows in 3 lines:
>>>
>>> prove(L) :- select((A->B),L,R), !, prove([-A,B|R]).
>>> prove(L) :- select(-(A->B),L,R), !, prove([A|R]), prove([-B|R]).
>>> prove(L) :- select(-A,L,R), member(A,R), !.
>>>
>>> Seems to work, I can prove Peirce Law:
>>>
>>> ?- prove([(((p->q)->p)->p)]).
>>> true.
>>> See also:
>>>
>>> *Hao Wang on the formalisation of mathematics*
>>> Lawrence C. Paulson 26 Jul 2023
>>> https://lawrencecpaulson.github.io/2023/07/26/Wang.html
>>>
>>>
>>>
>>
> 
========== REMAINDER OF ARTICLE TRUNCATED ==========