Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

Digital circuits are made from analog parts. -- Don Vonada


devel / comp.lang.prolog / Re: 50 Years of Prolog Nonsense

SubjectAuthor
* 50 Years of Prolog NonsenseMostowski Collapse
`* 50 Years of Prolog NonsenseMostowski Collapse
 `* 50 Years of Prolog NonsenseMostowski Collapse
  `* 50 Years of Prolog NonsenseMostowski Collapse
   `- 50 Years of Prolog NonsenseMostowski Collapse

1
Re: 50 Years of Prolog Nonsense

<abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1939&group=comp.lang.prolog#1939

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:148f:b0:3e4:e076:c4a9 with SMTP id t15-20020a05622a148f00b003e4e076c4a9mr3852082qtx.10.1680008844420;
Tue, 28 Mar 2023 06:07:24 -0700 (PDT)
X-Received: by 2002:a81:ac46:0:b0:533:9185:fc2c with SMTP id
z6-20020a81ac46000000b005339185fc2cmr7350716ywj.7.1680008844210; Tue, 28 Mar
2023 06:07:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 28 Mar 2023 06:07:23 -0700 (PDT)
In-Reply-To: <tur5t4$23si4$1@solani.org>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<f49ea300-d85e-404a-8eba-705047419a94n@googlegroups.com> <22d6355e-c160-4fce-bb23-b18b15963e4an@googlegroups.com>
<fe71e6b9-e73f-451d-863d-3b27a70534ean@googlegroups.com> <tur5e7$23sbt$1@solani.org>
<tur5t4$23si4$1@solani.org>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 28 Mar 2023 13:07:24 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1930
 by: Mostowski Collapse - Tue, 28 Mar 2023 13:07 UTC

Hurray, we can leave behind us the lexical order discussion. There
is a more fundamental flaw in the compare/3 implementation.

/* Scryer Prolog 0.9.1-207 and SWI-Prolog 9.1.7 */
?- X = X-0-9-7-6-5-4-3-2-1, Y = Y-7-5-8-2-4-1, X @< Y.
true.

?- H = H-9-7-6-5-4-3-2-1-0, Z = H-9-7-6-5-4-3-2-1,
Y = Y-7-5-8-2-4-1, Z @< Y.
false.

But X and Z are the same ground terms:

?- X = X-0-9-7-6-5-4-3-2-1, H = H-9-7-6-5-4-3-2-1-0,
Z = H-9-7-6-5-4-3-2-1, X == Z.
true.

So there is a violation of substitution of equals for equals,
in that X == Z and X @< Y did not imply Z @< Y.

Re: 50 Years of Prolog Nonsense

<c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1940&group=comp.lang.prolog#1940

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:1d1:b0:3d2:d562:bbc3 with SMTP id t17-20020a05622a01d100b003d2d562bbc3mr6104594qtw.12.1680010255741;
Tue, 28 Mar 2023 06:30:55 -0700 (PDT)
X-Received: by 2002:a25:40a:0:b0:acd:7374:f15b with SMTP id
10-20020a25040a000000b00acd7374f15bmr9582027ybe.13.1680010255503; Tue, 28 Mar
2023 06:30:55 -0700 (PDT)
Path: i2pn2.org!i2pn.org!news.1d4.us!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 28 Mar 2023 06:30:55 -0700 (PDT)
In-Reply-To: <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<f49ea300-d85e-404a-8eba-705047419a94n@googlegroups.com> <22d6355e-c160-4fce-bb23-b18b15963e4an@googlegroups.com>
<fe71e6b9-e73f-451d-863d-3b27a70534ean@googlegroups.com> <tur5e7$23sbt$1@solani.org>
<tur5t4$23si4$1@solani.org> <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 28 Mar 2023 13:30:55 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 2512
 by: Mostowski Collapse - Tue, 28 Mar 2023 13:30 UTC

An alternative name for substitution of equals for equals
is the part indiscernibility of identicals from Leibniz’s law:

A(s) & s = t => A(t)
https://en.wikipedia.org/wiki/Identity_of_indiscernibles

Currently violated by SWI-Prolog and Scryer Prolog

Mostowski Collapse schrieb am Dienstag, 28. März 2023 um 15:07:25 UTC+2:
> Hurray, we can leave behind us the lexical order discussion. There
> is a more fundamental flaw in the compare/3 implementation.
>
> /* Scryer Prolog 0.9.1-207 and SWI-Prolog 9.1.7 */
> ?- X = X-0-9-7-6-5-4-3-2-1, Y = Y-7-5-8-2-4-1, X @< Y.
> true.
>
> ?- H = H-9-7-6-5-4-3-2-1-0, Z = H-9-7-6-5-4-3-2-1,
> Y = Y-7-5-8-2-4-1, Z @< Y.
> false.
>
> But X and Z are the same ground terms:
>
> ?- X = X-0-9-7-6-5-4-3-2-1, H = H-9-7-6-5-4-3-2-1-0,
> Z = H-9-7-6-5-4-3-2-1, X == Z.
> true.
>
> So there is a violation of substitution of equals for equals,
> in that X == Z and X @< Y did not imply Z @< Y.

Re: 50 Years of Prolog Nonsense

<e49630fb-107e-4578-9cd7-32274f601ed1n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1942&group=comp.lang.prolog#1942

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:22a6:b0:746:a2a1:42ec with SMTP id p6-20020a05620a22a600b00746a2a142ecmr4016957qkh.12.1680023054052;
Tue, 28 Mar 2023 10:04:14 -0700 (PDT)
X-Received: by 2002:a25:483:0:b0:a0d:8150:becf with SMTP id
125-20020a250483000000b00a0d8150becfmr9856179ybe.13.1680023053459; Tue, 28
Mar 2023 10:04:13 -0700 (PDT)
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 28 Mar 2023 10:04:13 -0700 (PDT)
In-Reply-To: <c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<f49ea300-d85e-404a-8eba-705047419a94n@googlegroups.com> <22d6355e-c160-4fce-bb23-b18b15963e4an@googlegroups.com>
<fe71e6b9-e73f-451d-863d-3b27a70534ean@googlegroups.com> <tur5e7$23sbt$1@solani.org>
<tur5t4$23si4$1@solani.org> <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
<c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <e49630fb-107e-4578-9cd7-32274f601ed1n@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 28 Mar 2023 17:04:14 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Bytes: 1949
 by: Mostowski Collapse - Tue, 28 Mar 2023 17:04 UTC

I also don't find anything like a compare in neo4j. Its even the case
that the database stumbles over cycles in general, an article from 2019
it reports a performance penalty.

So if a Prolog system could do better and also
offer a compare, that would be really great news!

> **Avoid cycles in Cypher queries**
[https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries.html](https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries.html)

Re: 50 Years of Prolog Nonsense

<8a316deb-bfdd-43eb-b190-da9e60cfa496n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1943&group=comp.lang.prolog#1943

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:57a5:0:b0:56b:f17d:eba9 with SMTP id g5-20020ad457a5000000b0056bf17deba9mr2990248qvx.4.1680023103615;
Tue, 28 Mar 2023 10:05:03 -0700 (PDT)
X-Received: by 2002:a25:a2c3:0:b0:b78:1b26:a642 with SMTP id
c3-20020a25a2c3000000b00b781b26a642mr7531763ybn.1.1680023103271; Tue, 28 Mar
2023 10:05:03 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 28 Mar 2023 10:05:03 -0700 (PDT)
In-Reply-To: <e49630fb-107e-4578-9cd7-32274f601ed1n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<f49ea300-d85e-404a-8eba-705047419a94n@googlegroups.com> <22d6355e-c160-4fce-bb23-b18b15963e4an@googlegroups.com>
<fe71e6b9-e73f-451d-863d-3b27a70534ean@googlegroups.com> <tur5e7$23sbt$1@solani.org>
<tur5t4$23si4$1@solani.org> <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
<c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com> <e49630fb-107e-4578-9cd7-32274f601ed1n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8a316deb-bfdd-43eb-b190-da9e60cfa496n@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 28 Mar 2023 17:05:03 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Tue, 28 Mar 2023 17:05 UTC

I think Kuniaki Mukai mentioned that already, we can order regular
expressions? So we should be also able to order graphs, potentially
with cycles, since a graph can be represented by its Kleene form as

a regular expression? The bug here of SWI-Prolog and Scryer Prolog, is
related to two different regular expressions for the same thing. The
period (_) of a rational number is the star operator _* in a Kleene algebra..

To construct the test case, where SWI-Prolog and Scryer Prolog stumbled
I used two different regular expressions for the same rational number.
So I guess this little bug can be cheaply fixed? Or can it not?

10/81 = 0.(123456790) = 0.12345679(012345679)

Kleene form:
https://en.wikipedia.org/wiki/Kleene%27s_algorithm

Mostowski Collapse schrieb am Dienstag, 28. März 2023 um 19:04:15 UTC+2:
> I also don't find anything like a compare in neo4j. Its even the case
> that the database stumbles over cycles in general, an article from 2019
> it reports a performance penalty.
>
> So if a Prolog system could do better and also
> offer a compare, that would be really great news!
>
> > **Avoid cycles in Cypher queries**
> [https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries.html](https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries..html)

Re: 50 Years of Prolog Nonsense

<0aa70fc9-b8d8-42c1-9443-be4fcdc58515n@googlegroups.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=1954&group=comp.lang.prolog#1954

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:c45:b0:744:ae74:6fd2 with SMTP id u5-20020a05620a0c4500b00744ae746fd2mr7606350qki.10.1680473446149;
Sun, 02 Apr 2023 15:10:46 -0700 (PDT)
X-Received: by 2002:a05:6902:1502:b0:b68:d117:305b with SMTP id
q2-20020a056902150200b00b68d117305bmr16749474ybu.10.1680473445864; Sun, 02
Apr 2023 15:10:45 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 2 Apr 2023 15:10:45 -0700 (PDT)
In-Reply-To: <8a316deb-bfdd-43eb-b190-da9e60cfa496n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.44; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.44
References: <db903ba2-8ccd-418e-bd18-a9eb381cd222n@googlegroups.com>
<f49ea300-d85e-404a-8eba-705047419a94n@googlegroups.com> <22d6355e-c160-4fce-bb23-b18b15963e4an@googlegroups.com>
<fe71e6b9-e73f-451d-863d-3b27a70534ean@googlegroups.com> <tur5e7$23sbt$1@solani.org>
<tur5t4$23si4$1@solani.org> <abc7bc4f-97ea-4221-83de-91a456a799e9n@googlegroups.com>
<c0f17772-2858-4e61-a80b-71980235d820n@googlegroups.com> <e49630fb-107e-4578-9cd7-32274f601ed1n@googlegroups.com>
<8a316deb-bfdd-43eb-b190-da9e60cfa496n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0aa70fc9-b8d8-42c1-9443-be4fcdc58515n@googlegroups.com>
Subject: Re: 50 Years of Prolog Nonsense
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 02 Apr 2023 22:10:46 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Sun, 2 Apr 2023 22:10 UTC

Discussion was transitivity violation. Now I found also a counter
example for Scryer Prolog. Interestingly the triple is ok in
SWI-Prolog, its only nok in Scryer Prolog.

/* Scryer Prolog 0.9.1-209 */
?- A = s(s(A, _), A),
B = s(B, 0),
C = s(_S1, _), % where
_S1 = s(_S1, 1), A @< B, B @< C, \+ A @< C.
A = s(s(A,_A),A), B = s(B,0), C = s(s(_S1,1),_B), _S1 = s(_S1,1)..

Mostowski Collapse schrieb am Dienstag, 28. März 2023 um 19:05:05 UTC+2:
> I think Kuniaki Mukai mentioned that already, we can order regular
> expressions? So we should be also able to order graphs, potentially
> with cycles, since a graph can be represented by its Kleene form as
>
> a regular expression? The bug here of SWI-Prolog and Scryer Prolog, is
> related to two different regular expressions for the same thing. The
> period (_) of a rational number is the star operator _* in a Kleene algebra.
>
> To construct the test case, where SWI-Prolog and Scryer Prolog stumbled
> I used two different regular expressions for the same rational number.
> So I guess this little bug can be cheaply fixed? Or can it not?
>
> 10/81 = 0.(123456790) = 0.12345679(012345679)
>
> Kleene form:
> https://en.wikipedia.org/wiki/Kleene%27s_algorithm
> Mostowski Collapse schrieb am Dienstag, 28. März 2023 um 19:04:15 UTC+2:
> > I also don't find anything like a compare in neo4j. Its even the case
> > that the database stumbles over cycles in general, an article from 2019
> > it reports a performance penalty.
> >
> > So if a Prolog system could do better and also
> > offer a compare, that would be really great news!
> >
> > > **Avoid cycles in Cypher queries**
> > [https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries..html](https://graphaware.com/neo4j/2019/04/26/avoid-cycles-in-cypher-queries.html)

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor