Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

Parts that positively cannot be assembled in improper order will be.


devel / comp.lang.prolog / Re: France is the Fire Nation of Prolog

SubjectAuthor
* France is the Fire Nation of PrologMostowski Collapse
+* Re: France is the Fire Nation of PrologMostowski Collapse
|`* Re: France is the Fire Nation of PrologMostowski Collapse
| `* Re: France is the Fire Nation of PrologMostowski Collapse
|  `* Re: France is the Fire Nation of PrologMostowski Collapse
|   `* Re: France is the Fire Nation of PrologMostowski Collapse
|    `* Re: France is the Fire Nation of PrologMostowski Collapse
|     `* Re: France is the Fire Nation of PrologMostowski Collapse
|      `* Re: France is the Fire Nation of PrologMostowski Collapse
|       `* Re: France is the Fire Nation of PrologMostowski Collapse
|        `* Re: France is the Fire Nation of PrologMostowski Collapse
|         `* Re: France is the Fire Nation of PrologMostowski Collapse
|          `* Re: France is the Fire Nation of PrologMostowski Collapse
|           `* Re: France is the Fire Nation of PrologMostowski Collapse
|            `* Re: France is the Fire Nation of PrologMostowski Collapse
|             `* Re: France is the Fire Nation of PrologMostowski Collapse
|              `* Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               +- Re: France is the Fire Nation of PrologMostowski Collapse
|               `* Re: France is the Fire Nation of PrologMostowski Collapse
|                `* Re: France is the Fire Nation of PrologMostowski Collapse
|                 +- Re: France is the Fire Nation of PrologMostowski Collapse
|                 +- Re: France is the Fire Nation of PrologJulio Di Egidio
|                 `- Re: France is the Fire Nation of PrologMostowski Collapse
+* Re: France is the Fire Nation of PrologMostowski Collapse
|`* Re: France is the Fire Nation of PrologMostowski Collapse
| `* Re: France is the Fire Nation of PrologMostowski Collapse
|  `* Re: France is the Fire Nation of PrologMostowski Collapse
|   `* Re: France is the Fire Nation of PrologMostowski Collapse
|    `* Re: France is the Fire Nation of PrologMostowski Collapse
|     `* Re: France is the Fire Nation of PrologMostowski Collapse
|      `* Re: France is the Fire Nation of PrologMostowski Collapse
|       `* Re: France is the Fire Nation of PrologMostowski Collapse
|        `* Re: France is the Fire Nation of PrologMostowski Collapse
|         `* Re: France is the Fire Nation of PrologMostowski Collapse
|          `* Re: France is the Fire Nation of PrologMostowski Collapse
|           `* Re: France is the Fire Nation of PrologMostowski Collapse
|            +* Re: France is the Fire Nation of PrologMostowski Collapse
|            |`- Re: France is the Fire Nation of PrologMostowski Collapse
|            `- Re: France is the Fire Nation of PrologMostowski Collapse
`* Re: France is the Fire Nation of PrologMostowski Collapse
 `* Re: France is the Fire Nation of PrologMostowski Collapse
  `* Re: France is the Fire Nation of PrologMostowski Collapse
   `* Re: France is the Fire Nation of PrologMostowski Collapse
    `* Re: France is the Fire Nation of PrologMostowski Collapse
     `* Re: France is the Fire Nation of PrologMostowski Collapse
      `* Re: France is the Fire Nation of PrologMostowski Collapse
       `* Re: France is the Fire Nation of PrologMostowski Collapse
        `* Re: France is the Fire Nation of PrologMostowski Collapse
         `* Re: France is the Fire Nation of PrologMostowski Collapse
          `* Re: France is the Fire Nation of PrologMostowski Collapse
           `* Re: France is the Fire Nation of PrologMostowski Collapse
            `* Re: France is the Fire Nation of PrologMostowski Collapse
             `* Re: France is the Fire Nation of PrologMostowski Collapse
              `* Re: France is the Fire Nation of PrologMostowski Collapse
               `* Re: France is the Fire Nation of PrologMostowski Collapse
                `* Re: France is the Fire Nation of PrologMostowski Collapse
                 +* Re: France is the Fire Nation of PrologMostowski Collapse
                 |+- Re: France is the Fire Nation of PrologMild Shock
                 |`- Re: France is the Fire Nation of PrologMild Shock
                 +- Re: France is the Fire Nation of PrologMostowski Collapse
                 +- Re: France is the Fire Nation of PrologMostowski Collapse
                 +- Re: France is the Fire Nation of PrologMostowski Collapse
                 +- Re: France is the Fire Nation of PrologMostowski Collapse
                 `- Re: France is the Fire Nation of PrologMostowski Collapse

Pages:1234
France is the Fire Nation of Prolog

<d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=693&group=comp.lang.prolog#693

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:8407:: with SMTP id g7mr35416655qkd.123.1626874903619;
Wed, 21 Jul 2021 06:41:43 -0700 (PDT)
X-Received: by 2002:a5b:b01:: with SMTP id z1mr43467900ybp.341.1626874903323;
Wed, 21 Jul 2021 06:41:43 -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: Wed, 21 Jul 2021 06:41:43 -0700 (PDT)
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
Subject: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 21 Jul 2021 13:41:43 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Wed, 21 Jul 2021 13:41 UTC

After years of enduring abominations such as
inappropriate use of DCG, pillow web servers and
Protobufs, leading to a down spiral

of turning Prolog into a bash scripting language
with further unholy marriages such as Prolog dicts
that are always closed or (=>)/2 for SSU,

there is finally a new book that mentions logic
programming in connection with Artificial intelligence.
Disclaimer, didn't read yet, but the context

looks interesting:

A Guided Tour of Artificial Intelligence Research - May, 2020
Logic Programming Pages 83-113 Lallouet, Arnaud (et al.)
https://www.springer.com/gp/book/9783030061661

If you want to find the secret river, join the fire nation:

Aang Infiltrates a Fire Nation School
https://www.youtube.com/watch?v=hu40eO7ox8w

LoL

Re: France is the Fire Nation of Prolog

<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=694&group=comp.lang.prolog#694

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:90c:: with SMTP id v12mr34906245qkv.190.1626875303664;
Wed, 21 Jul 2021 06:48:23 -0700 (PDT)
X-Received: by 2002:a25:afcd:: with SMTP id d13mr43951533ybj.504.1626875303471;
Wed, 21 Jul 2021 06:48:23 -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: Wed, 21 Jul 2021 06:48:23 -0700 (PDT)
In-Reply-To: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 21 Jul 2021 13:48:23 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Wed, 21 Jul 2021 13:48 UTC

The opposite evil of turning Prolog into a bash scripting
language is the motto use CLP(FD) everywhere and the
library(reif). Didn't fullfil any of its promisses either.

Mostowski Collapse schrieb am Mittwoch, 21. Juli 2021 um 15:41:44 UTC+2:
> After years of enduring abominations such as
> inappropriate use of DCG, pillow web servers and
> Protobufs, leading to a down spiral
>
> of turning Prolog into a bash scripting language
> with further unholy marriages such as Prolog dicts
> that are always closed or (=>)/2 for SSU,
>
> there is finally a new book that mentions logic
> programming in connection with Artificial intelligence.
> Disclaimer, didn't read yet, but the context
>
> looks interesting:
>
> A Guided Tour of Artificial Intelligence Research - May, 2020
> Logic Programming Pages 83-113 Lallouet, Arnaud (et al.)
> https://www.springer.com/gp/book/9783030061661
>
> If you want to find the secret river, join the fire nation:
>
> Aang Infiltrates a Fire Nation School
> https://www.youtube.com/watch?v=hu40eO7ox8w
>
> LoL

Re: France is the Fire Nation of Prolog

<c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=703&group=comp.lang.prolog#703

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:90c:: with SMTP id v12mr39204795qkv.190.1626951106216;
Thu, 22 Jul 2021 03:51:46 -0700 (PDT)
X-Received: by 2002:a05:6902:1202:: with SMTP id s2mr51650909ybu.475.1626951106046;
Thu, 22 Jul 2021 03:51:46 -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: Thu, 22 Jul 2021 03:51:45 -0700 (PDT)
In-Reply-To: <05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com> <05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 22 Jul 2021 10:51:46 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Thu, 22 Jul 2021 10:51 UTC

So will the earth benders ever write efficient code? The fire
nation or the water benders could be ahead of their time,
but what about the earth benders?

Here is a DCG code smell:

% When Type is a variable, backtracks through all the possibilities
% for a given wire encoding.
[...]
prolog_type(Tag, unsigned64) --> protobuf_tag_type(Tag, fixed64).
prolog_type(Tag, float) --> protobuf_tag_type(Tag, fixed32).
prolog_type(Tag, integer32) --> protobuf_tag_type(Tag, fixed32).
prolog_type(Tag, unsigned32) --> protobuf_tag_type(Tag, fixed32).
prolog_type(Tag, integer) --> protobuf_tag_type(Tag, varint).
[...]

Looks nice, but doesn't work. It can lead to spurious choice
points. This is a widespread inappropriate use of DCG. It is
declarative and logically correct, good for academic slides.

But not for production code.

Mostowski Collapse schrieb am Mittwoch, 21. Juli 2021 um 15:48:24 UTC+2:
> The opposite evil of turning Prolog into a bash scripting
> language is the motto use CLP(FD) everywhere and the
> library(reif). Didn't fullfil any of its promisses either.
> Mostowski Collapse schrieb am Mittwoch, 21. Juli 2021 um 15:41:44 UTC+2:
> > After years of enduring abominations such as
> > inappropriate use of DCG, pillow web servers and
> > Protobufs, leading to a down spiral
> >
> > of turning Prolog into a bash scripting language
> > with further unholy marriages such as Prolog dicts
> > that are always closed or (=>)/2 for SSU,
> >
> > there is finally a new book that mentions logic
> > programming in connection with Artificial intelligence.
> > Disclaimer, didn't read yet, but the context
> >
> > looks interesting:
> >
> > A Guided Tour of Artificial Intelligence Research - May, 2020
> > Logic Programming Pages 83-113 Lallouet, Arnaud (et al.)
> > https://www.springer.com/gp/book/9783030061661
> >
> > If you want to find the secret river, join the fire nation:
> >
> > Aang Infiltrates a Fire Nation School
> > https://www.youtube.com/watch?v=hu40eO7ox8w
> >
> > LoL

Re: France is the Fire Nation of Prolog

<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=704&group=comp.lang.prolog#704

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:204c:: with SMTP id d12mr28447572qka.417.1626951229116;
Thu, 22 Jul 2021 03:53:49 -0700 (PDT)
X-Received: by 2002:a5b:b01:: with SMTP id z1mr49130323ybp.341.1626951229005;
Thu, 22 Jul 2021 03:53:49 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 22 Jul 2021 03:53:48 -0700 (PDT)
In-Reply-To: <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 22 Jul 2021 10:53:49 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 77
 by: Mostowski Collapse - Thu, 22 Jul 2021 10:53 UTC

One can easily measure the negative impact of spurious choice
points. Take this naive reverse with spurious choice points:

rev([], []).
rev([X|Rest], Ans) :- rev(Rest, L), concatenate(L, [X], Ans).
rev(_, _) :- fail.

concatenate([], L, L).
concatenate([X|L1], L2, [X|L3]) :- concatenate(L1, L2, L3).
concatenate(_, _, _) :- fail.

Benchmarking shows, spurious choice points slow
down nrev by a factor >2x:

/* without spurious choice points */
user:nrev in 93 (0 gc) ms

/* with spurious choice points */
user:nrev in 234 (0 gc) ms

So the kind of library(dcg/basics) should be quaranteened. Or put
into a poison cabinet, and the key then thrown away. Or write tutorial
that show to write DCG without any spurious choice points.

Languages that are for example LL(1) do not need any choice point.
https://en.wikipedia.org/wiki/LL_grammar

Mostowski Collapse schrieb am Donnerstag, 22. Juli 2021 um 12:51:46 UTC+2:
> So will the earth benders ever write efficient code? The fire
> nation or the water benders could be ahead of their time,
> but what about the earth benders?
>
> Here is a DCG code smell:
>
> % When Type is a variable, backtracks through all the possibilities
> % for a given wire encoding.
> [...]
> prolog_type(Tag, unsigned64) --> protobuf_tag_type(Tag, fixed64).
> prolog_type(Tag, float) --> protobuf_tag_type(Tag, fixed32).
> prolog_type(Tag, integer32) --> protobuf_tag_type(Tag, fixed32).
> prolog_type(Tag, unsigned32) --> protobuf_tag_type(Tag, fixed32).
> prolog_type(Tag, integer) --> protobuf_tag_type(Tag, varint).
> [...]
>
> Looks nice, but doesn't work. It can lead to spurious choice
> points. This is a widespread inappropriate use of DCG. It is
> declarative and logically correct, good for academic slides.
>
> But not for production code.
> Mostowski Collapse schrieb am Mittwoch, 21. Juli 2021 um 15:48:24 UTC+2:
> > The opposite evil of turning Prolog into a bash scripting
> > language is the motto use CLP(FD) everywhere and the
> > library(reif). Didn't fullfil any of its promisses either.
> > Mostowski Collapse schrieb am Mittwoch, 21. Juli 2021 um 15:41:44 UTC+2:
> > > After years of enduring abominations such as
> > > inappropriate use of DCG, pillow web servers and
> > > Protobufs, leading to a down spiral
> > >
> > > of turning Prolog into a bash scripting language
> > > with further unholy marriages such as Prolog dicts
> > > that are always closed or (=>)/2 for SSU,
> > >
> > > there is finally a new book that mentions logic
> > > programming in connection with Artificial intelligence.
> > > Disclaimer, didn't read yet, but the context
> > >
> > > looks interesting:
> > >
> > > A Guided Tour of Artificial Intelligence Research - May, 2020
> > > Logic Programming Pages 83-113 Lallouet, Arnaud (et al.)
> > > https://www.springer.com/gp/book/9783030061661
> > >
> > > If you want to find the secret river, join the fire nation:
> > >
> > > Aang Infiltrates a Fire Nation School
> > > https://www.youtube.com/watch?v=hu40eO7ox8w
> > >
> > > LoL

Re: France is the Fire Nation of Prolog

<4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=708&group=comp.lang.prolog#708

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:62d:: with SMTP id 13mr3845861qkv.18.1627036341091;
Fri, 23 Jul 2021 03:32:21 -0700 (PDT)
X-Received: by 2002:a25:6a84:: with SMTP id f126mr5549624ybc.28.1627036340911;
Fri, 23 Jul 2021 03:32:20 -0700 (PDT)
Path: i2pn2.org!i2pn.org!paganini.bofh.team!usenet.pasdenom.info!usenet-fr.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: Fri, 23 Jul 2021 03:32:20 -0700 (PDT)
In-Reply-To: <86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 23 Jul 2021 10:32:21 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Fri, 23 Jul 2021 10:32 UTC

The Kissat SAT solver is a reimplementation of CaDiCaL in C.
https://twitter.com/ArminBiere/status/1288132283443142661

Re: France is the Fire Nation of Prolog

<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=709&group=comp.lang.prolog#709

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:7310:: with SMTP id x16mr3361699qto.178.1627037179917;
Fri, 23 Jul 2021 03:46:19 -0700 (PDT)
X-Received: by 2002:a25:aaa4:: with SMTP id t33mr4028181ybi.256.1627037179686;
Fri, 23 Jul 2021 03:46:19 -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: Fri, 23 Jul 2021 03:46:19 -0700 (PDT)
In-Reply-To: <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Fri, 23 Jul 2021 10:46:19 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Fri, 23 Jul 2021 10:46 UTC

The rustc linter can be used for SAT solving.
https://twitter.com/NieDzejkob/status/1412932919761453058

LoL

Mostowski Collapse schrieb am Freitag, 23. Juli 2021 um 12:32:28 UTC+2:
> The Kissat SAT solver is a reimplementation of CaDiCaL in C.
> https://twitter.com/ArminBiere/status/1288132283443142661

Re: France is the Fire Nation of Prolog

<b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=754&group=comp.lang.prolog#754

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:1910:: with SMTP id w16mr22847644qtc.227.1627463993185;
Wed, 28 Jul 2021 02:19:53 -0700 (PDT)
X-Received: by 2002:a25:541:: with SMTP id 62mr17161849ybf.367.1627463992828;
Wed, 28 Jul 2021 02:19:52 -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: Wed, 28 Jul 2021 02:19:52 -0700 (PDT)
In-Reply-To: <ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 28 Jul 2021 09:19:53 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Wed, 28 Jul 2021 09:19 UTC

SWI-Prolog has an interesting solution to the catch/throw
problem. It offers two different catch:

- catch/3: Does not build a backtrace
- catch_with_backtrace/3: As the name says, builds a backtrace

We did something else in Jekejeke Prolog. We had two types
of internal Prolog errors:

- EngineMessage: Prolog error without backtrace
- EngineException: Prolog error with backtrace

This was less motivated by performance considerations, such
as number_codes/2 exceptions, but rather by the observation that
some code has access to Engine, and can therefore fetch

backtrace, and other code does not have an Engine parameter,
and EngineMessage would be thrown, and the backtrace would be
fetched later.

Re: France is the Fire Nation of Prolog

<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=755&group=comp.lang.prolog#755

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:489:: with SMTP id p9mr23149482qtx.256.1627464573827;
Wed, 28 Jul 2021 02:29:33 -0700 (PDT)
X-Received: by 2002:a25:694f:: with SMTP id e76mr22178696ybc.247.1627464573678;
Wed, 28 Jul 2021 02:29:33 -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: Wed, 28 Jul 2021 02:29:33 -0700 (PDT)
In-Reply-To: <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 28 Jul 2021 09:29:33 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Wed, 28 Jul 2021 09:29 UTC

The EngineMessage and EngineException combo works
excellently internally in Java code. But when moving outside
of Java, into Prolog code, we decided to always convert

into an error with a backtrace. So inside Prolog code there
is no more benefit, and calling number_codes/2 inside Prolog
will not benefit. This is a little annoying for the Dogelog runtime

which aims at doing more stuff in Prolog itself. So there
is now a Dogelog runtime proposal, to have a backtrace, and
maybe even shamelessly adopt catch_with_backtrace/3:

Use spare wheel for backtrace in throw/1 #86
https://github.com/jburse/dogelog-moon/issues/86

Not yet sure. But its not yet clear how this proposal should work
out, if a catch/3 doesn't catch a ball, and hands it down to
catch_with_backtrace/1. How can it add a backtrace after

the fact? Maybe the rethrow will only have a backtarce
to catch/3 and not its early history.

Mostowski Collapse schrieb am Mittwoch, 28. Juli 2021 um 11:19:53 UTC+2:
> SWI-Prolog has an interesting solution to the catch/throw
> problem. It offers two different catch:
>
> - catch/3: Does not build a backtrace
> - catch_with_backtrace/3: As the name says, builds a backtrace
>
> We did something else in Jekejeke Prolog. We had two types
> of internal Prolog errors:
>
> - EngineMessage: Prolog error without backtrace
> - EngineException: Prolog error with backtrace
>
> This was less motivated by performance considerations, such
> as number_codes/2 exceptions, but rather by the observation that
> some code has access to Engine, and can therefore fetch
>
> backtrace, and other code does not have an Engine parameter,
> and EngineMessage would be thrown, and the backtrace would be
> fetched later.

Re: France is the Fire Nation of Prolog

<a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=756&group=comp.lang.prolog#756

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ae9:f447:: with SMTP id z7mr25379471qkl.453.1627465323210;
Wed, 28 Jul 2021 02:42:03 -0700 (PDT)
X-Received: by 2002:a25:4f08:: with SMTP id d8mr36789947ybb.10.1627465323038;
Wed, 28 Jul 2021 02:42: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: Wed, 28 Jul 2021 02:42:02 -0700 (PDT)
In-Reply-To: <25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 28 Jul 2021 09:42:03 +0000
Content-Type: text/plain; charset="UTF-8"
 by: Mostowski Collapse - Wed, 28 Jul 2021 09:42 UTC

We would stay in the ISO core standard semantics of catch/throw.
Like XSB implements it. So despite a new feature with or without
backtrace, semantics would not deviate from ISO core standard.

This can be made by letting catch/3 and catch_with_backtrace/3
not involved in the execution of fetching a backtrace or not,
this is done further down in the execution, these predicates

catch/3 and catch_with_backtrace/3 would only set a flag.
But since they also manage the stack, they can simply color the
stack, and the top of the stack always tells what was

requested, i.e. catch/3 or catch_with_backtrace/3. But it is not
that catch/3 would not anymore build the stack itself, which is
also some cost. The stack uses some spare wheel of the

stack datastructure for the colouring. But that datastructure
needs to be built anyway for other reasons like garbage collection.

Mostowski Collapse schrieb am Mittwoch, 28. Juli 2021 um 11:29:34 UTC+2:
> The EngineMessage and EngineException combo works
> excellently internally in Java code. But when moving outside
> of Java, into Prolog code, we decided to always convert
>
> into an error with a backtrace. So inside Prolog code there
> is no more benefit, and calling number_codes/2 inside Prolog
> will not benefit. This is a little annoying for the Dogelog runtime
>
> which aims at doing more stuff in Prolog itself. So there
> is now a Dogelog runtime proposal, to have a backtrace, and
> maybe even shamelessly adopt catch_with_backtrace/3:
>
> Use spare wheel for backtrace in throw/1 #86
> https://github.com/jburse/dogelog-moon/issues/86
>
> Not yet sure. But its not yet clear how this proposal should work
> out, if a catch/3 doesn't catch a ball, and hands it down to
> catch_with_backtrace/1. How can it add a backtrace after
>
> the fact? Maybe the rethrow will only have a backtarce
> to catch/3 and not its early history.
> Mostowski Collapse schrieb am Mittwoch, 28. Juli 2021 um 11:19:53 UTC+2:
> > SWI-Prolog has an interesting solution to the catch/throw
> > problem. It offers two different catch:
> >
> > - catch/3: Does not build a backtrace
> > - catch_with_backtrace/3: As the name says, builds a backtrace
> >
> > We did something else in Jekejeke Prolog. We had two types
> > of internal Prolog errors:
> >
> > - EngineMessage: Prolog error without backtrace
> > - EngineException: Prolog error with backtrace
> >
> > This was less motivated by performance considerations, such
> > as number_codes/2 exceptions, but rather by the observation that
> > some code has access to Engine, and can therefore fetch
> >
> > backtrace, and other code does not have an Engine parameter,
> > and EngineMessage would be thrown, and the backtrace would be
> > fetched later.

Re: France is the Fire Nation of Prolog

<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=960&group=comp.lang.prolog#960

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:152:: with SMTP id v18mr22961108qtw.9.1635235039255;
Tue, 26 Oct 2021 00:57:19 -0700 (PDT)
X-Received: by 2002:a5b:10a:: with SMTP id 10mr12360994ybx.535.1635235038870;
Tue, 26 Oct 2021 00:57:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 26 Oct 2021 00:57:18 -0700 (PDT)
In-Reply-To: <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 26 Oct 2021 07:57:19 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 9
 by: Mostowski Collapse - Tue, 26 Oct 2021 07:57 UTC

The SAT solver IsaSAT by Mathias Fleury has won the
fixed CNF encoding race of the 2021 EDA Challenge. All results.

IsaSAT is a formally verified SAT solver, using Peter Lammich's
Isabelle LLVM to produce fast verified code.

This is the first time a formally verified solver wins a competition
against unverified solvers.

http://fmv.jku.at/papers/Fleury-EDA-Challenge-2021.pdf

Re: France is the Fire Nation of Prolog

<64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=961&group=comp.lang.prolog#961

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:1035:: with SMTP id a21mr1037626qkk.354.1635235098745;
Tue, 26 Oct 2021 00:58:18 -0700 (PDT)
X-Received: by 2002:a25:1906:: with SMTP id 6mr21152085ybz.334.1635235098485;
Tue, 26 Oct 2021 00:58:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 26 Oct 2021 00:58:18 -0700 (PDT)
In-Reply-To: <7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 26 Oct 2021 07:58:18 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 26
 by: Mostowski Collapse - Tue, 26 Oct 2021 07:58 UTC

Interesting take on a verified SAT solver. They have two proofs.
One proof shows that the SAT solver is sound and complete
unconditionally. Such a proof needs to assume natural numbers,

which are then used to encode literals, clauses, etc.. From such
a proof one can extract code for an abstract machine that
has big numbers, that might nevertheless throw a resource

error when memory is exhaustet. Then they have a second proof
where they assume a more down to earth encoding of
literals, clauses, etc.. by assuming stuff is encoded in 64-bit

or somesuch. In such a proof there is not anymore completeness.
The SAT solver is already inheritenly incompletely viewed
on the verification level. Whats the advantage of such an approach?

Mostowski Collapse schrieb am Dienstag, 26. Oktober 2021 um 09:57:20 UTC+2:
> The SAT solver IsaSAT by Mathias Fleury has won the
> fixed CNF encoding race of the 2021 EDA Challenge. All results.
>
> IsaSAT is a formally verified SAT solver, using Peter Lammich's
> Isabelle LLVM to produce fast verified code.
>
> This is the first time a formally verified solver wins a competition
> against unverified solvers.
>
> http://fmv.jku.at/papers/Fleury-EDA-Challenge-2021.pdf

Re: France is the Fire Nation of Prolog

<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=962&group=comp.lang.prolog#962

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:8287:: with SMTP id e129mr18071879qkd.415.1635235171187;
Tue, 26 Oct 2021 00:59:31 -0700 (PDT)
X-Received: by 2002:a25:afcf:: with SMTP id d15mr21462997ybj.320.1635235170839;
Tue, 26 Oct 2021 00:59:30 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Tue, 26 Oct 2021 00:59:30 -0700 (PDT)
In-Reply-To: <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 26 Oct 2021 07:59:31 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 45
 by: Mostowski Collapse - Tue, 26 Oct 2021 07:59 UTC

Maybe the advantage of such an approach is that exception
handling can be also verified. If exception handling like a resource
error is wrongly done, it might lead to false positives or

negatives. And if the exception handling is not verified
these false positives or negatives might go unnoticed, when
they are only imputed in the extracted artefact, and

not part of the mathematical modelling. On the other hand
if we have it already verified, we get a more safer implementation.
But how is this done and how does it related to LLVM?

Rust has something similar, Rust can be run with bounded
arithmetic so that x+y does not wrap around but rather
throws an error when the sum is outside of the type range.

Such bounded arithmetic could be also modelled logically
when doing the verification.

Mostowski Collapse schrieb am Dienstag, 26. Oktober 2021 um 09:58:19 UTC+2:
> Interesting take on a verified SAT solver. They have two proofs.
> One proof shows that the SAT solver is sound and complete
> unconditionally. Such a proof needs to assume natural numbers,
>
> which are then used to encode literals, clauses, etc.. From such
> a proof one can extract code for an abstract machine that
> has big numbers, that might nevertheless throw a resource
>
> error when memory is exhaustet. Then they have a second proof
> where they assume a more down to earth encoding of
> literals, clauses, etc.. by assuming stuff is encoded in 64-bit
>
> or somesuch. In such a proof there is not anymore completeness.
> The SAT solver is already inheritenly incompletely viewed
> on the verification level. Whats the advantage of such an approach?
> Mostowski Collapse schrieb am Dienstag, 26. Oktober 2021 um 09:57:20 UTC+2:
> > The SAT solver IsaSAT by Mathias Fleury has won the
> > fixed CNF encoding race of the 2021 EDA Challenge. All results.
> >
> > IsaSAT is a formally verified SAT solver, using Peter Lammich's
> > Isabelle LLVM to produce fast verified code.
> >
> > This is the first time a formally verified solver wins a competition
> > against unverified solvers.
> >
> > http://fmv.jku.at/papers/Fleury-EDA-Challenge-2021.pdf

Re: France is the Fire Nation of Prolog

<ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=976&group=comp.lang.prolog#976

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:6214:2aa9:: with SMTP id js9mr26853079qvb.67.1635950857274;
Wed, 03 Nov 2021 07:47:37 -0700 (PDT)
X-Received: by 2002:a25:c344:: with SMTP id t65mr50939898ybf.409.1635950856941;
Wed, 03 Nov 2021 07:47:36 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 3 Nov 2021 07:47:36 -0700 (PDT)
In-Reply-To: <705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 03 Nov 2021 14:47:37 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 15
 by: Mostowski Collapse - Wed, 3 Nov 2021 14:47 UTC

Now toying around with SWI-Prolog s(CASP). Wonder
why it has ASP = Answer Set Programming in its name?

https://swish.swi-prolog.org/p/scasp_constraint_tests.pl

I am trying this:

false :- not p, not q.

p :- p.
q :- q.

r :- p.
r :- q.

Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=977&group=comp.lang.prolog#977

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:4449:: with SMTP id w9mr35684587qkp.273.1635950920555;
Wed, 03 Nov 2021 07:48:40 -0700 (PDT)
X-Received: by 2002:a25:4150:: with SMTP id o77mr27497135yba.304.1635950920411;
Wed, 03 Nov 2021 07:48:40 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 3 Nov 2021 07:48:40 -0700 (PDT)
In-Reply-To: <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 03 Nov 2021 14:48:40 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 43
 by: Mostowski Collapse - Wed, 3 Nov 2021 14:48 UTC

Ok my bad, “not” is not classical negation, even clingo cant
do it. The clause false :- not p, not q would be logical equivalent
to p | q :- true if “not” were classical.

But then I have a disjunctive head. How enter a disjunctive
head in s(CASP)? In clingo I can do:

p | q.

p :- p.
q :- q.

r :- p.
r :- q.

And as expected it gives me two stable models.

Answer: 1
q r
Answer: 2
p r

But SWI-Prolog s(CASP) gives me nothing. Was comparing to:

https://potassco.org/clingo/run/

Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> Now toying around with SWI-Prolog s(CASP). Wonder
> why it has ASP = Answer Set Programming in its name?
>
> https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
>
> I am trying this:
>
> false :- not p, not q.
>
> p :- p.
> q :- q.
>
> r :- p.
> r :- q.
>
> Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=978&group=comp.lang.prolog#978

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:194:: with SMTP id s20mr27085987qtw.66.1636012165194;
Thu, 04 Nov 2021 00:49:25 -0700 (PDT)
X-Received: by 2002:a25:f50c:: with SMTP id a12mr51444479ybe.300.1636012164945;
Thu, 04 Nov 2021 00:49:24 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 4 Nov 2021 00:49:24 -0700 (PDT)
In-Reply-To: <149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 04 Nov 2021 07:49:25 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 60
 by: Mostowski Collapse - Thu, 4 Nov 2021 07:49 UTC

So some conclusion was that s(CASP) probably doesn't
do disjunctive logic programming. The example we had
was as folllows:

:- abducible p, q.

false :- -p, -q.

r :- p, q.

https://swish.swi-prolog.org/p/disj_trial3.pl

From classical logic and also in ordinary ASP, we will
not find that r occurs in all stable models. On the
other hand s(CAPS) seems to be able

to prove both r and not r. LoL

Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:48:41 UTC+1:
> Ok my bad, “not” is not classical negation, even clingo cant
> do it. The clause false :- not p, not q would be logical equivalent
> to p | q :- true if “not” were classical.
>
> But then I have a disjunctive head. How enter a disjunctive
> head in s(CASP)? In clingo I can do:
>
> p | q.
> p :- p.
> q :- q.
>
> r :- p.
> r :- q.
> And as expected it gives me two stable models.
>
> Answer: 1
> q r
> Answer: 2
> p r
>
> But SWI-Prolog s(CASP) gives me nothing. Was comparing to:
>
> https://potassco.org/clingo/run/
> Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> > Now toying around with SWI-Prolog s(CASP). Wonder
> > why it has ASP = Answer Set Programming in its name?
> >
> > https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
> >
> > I am trying this:
> >
> > false :- not p, not q.
> >
> > p :- p.
> > q :- q.
> >
> > r :- p.
> > r :- q.
> >
> > Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=979&group=comp.lang.prolog#979

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:622a:4cf:: with SMTP id q15mr52385485qtx.265.1636012222945;
Thu, 04 Nov 2021 00:50:22 -0700 (PDT)
X-Received: by 2002:a25:bb0b:: with SMTP id z11mr53985653ybg.108.1636012222677;
Thu, 04 Nov 2021 00:50:22 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 4 Nov 2021 00:50:22 -0700 (PDT)
In-Reply-To: <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 04 Nov 2021 07:50:22 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 77
 by: Mostowski Collapse - Thu, 4 Nov 2021 07:50 UTC

Our own conclusion, that we can prove r and not r,
was that abduction is involved.

If P is the s(CASP) program, and A is what was abducted, then
the s(CASP) query Q is resolved against the program P and the
the abducted facts A. So that you have:

P, A |- Q.

When I asked r, it abducted p,q. When I asked not r, it abducted ~p.
What was abducted is seen in the s(CASP) model section.
For example for the abducible fact p, the _p makes ~p.

Oki Doki.

Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:49:25 UTC+1:
> So some conclusion was that s(CASP) probably doesn't
> do disjunctive logic programming. The example we had
> was as folllows:
>
> :- abducible p, q.
>
> false :- -p, -q.
>
> r :- p, q.
>
> https://swish.swi-prolog.org/p/disj_trial3.pl
>
> From classical logic and also in ordinary ASP, we will
> not find that r occurs in all stable models. On the
> other hand s(CAPS) seems to be able
>
> to prove both r and not r. LoL
> Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:48:41 UTC+1:
> > Ok my bad, “not” is not classical negation, even clingo cant
> > do it. The clause false :- not p, not q would be logical equivalent
> > to p | q :- true if “not” were classical.
> >
> > But then I have a disjunctive head. How enter a disjunctive
> > head in s(CASP)? In clingo I can do:
> >
> > p | q.
> > p :- p.
> > q :- q.
> >
> > r :- p.
> > r :- q.
> > And as expected it gives me two stable models.
> >
> > Answer: 1
> > q r
> > Answer: 2
> > p r
> >
> > But SWI-Prolog s(CASP) gives me nothing. Was comparing to:
> >
> > https://potassco.org/clingo/run/
> > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> > > Now toying around with SWI-Prolog s(CASP). Wonder
> > > why it has ASP = Answer Set Programming in its name?
> > >
> > > https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
> > >
> > > I am trying this:
> > >
> > > false :- not p, not q.
> > >
> > > p :- p.
> > > q :- q.
> > >
> > > r :- p.
> > > r :- q.
> > >
> > > Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=980&group=comp.lang.prolog#980

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:450d:: with SMTP id t13mr21257335qkp.427.1636225652767;
Sat, 06 Nov 2021 12:07:32 -0700 (PDT)
X-Received: by 2002:a25:1906:: with SMTP id 6mr68637191ybz.334.1636225652547;
Sat, 06 Nov 2021 12:07:32 -0700 (PDT)
Path: i2pn2.org!i2pn.org!aioe.org!news.mixmin.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: Sat, 6 Nov 2021 12:07:32 -0700 (PDT)
In-Reply-To: <2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 06 Nov 2021 19:07:32 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Sat, 6 Nov 2021 19:07 UTC

There is an interesting relationship to QSAT. Namely
we can do abduction in QSAT. At least it seems to me.
First look at deduction and not abduction. Deduction
would be verification of P |- Q, with P and Q given,

no abducible A involved. In QSAT we can ask:

/* SWI-Prolog */
?- sat(~(V^ ~(P =< Q))).

What does this all mean? Well V are the propositional
variables, and (^)/2 is the QSAT proositional existential
quantifier, (~)/1 is boolean negation and (=<)/2 is boolean
implication. So the problem I posed for ASP was simply:

P: The logic program:
p v q.
r <- p & q.

Q: The query to the logic program:
?- r.

Now with a QSAT solver, such as SWI-Prolog, we see that
r is not provable, namely we have:

?- use_module(library(clpb)).
true.

?- sat(~(P^Q^R^ ~((P+Q)*(R>=P*Q)=<R))).
false.

Cool!

Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:50:23 UTC+1:
> Our own conclusion, that we can prove r and not r,
> was that abduction is involved.
>
> If P is the s(CASP) program, and A is what was abducted, then
> the s(CASP) query Q is resolved against the program P and the
> the abducted facts A. So that you have:
>
> P, A |- Q.
>
> When I asked r, it abducted p,q. When I asked not r, it abducted ~p.
> What was abducted is seen in the s(CASP) model section.
> For example for the abducible fact p, the _p makes ~p.
>
> Oki Doki.
> Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:49:25 UTC+1:
> > So some conclusion was that s(CASP) probably doesn't
> > do disjunctive logic programming. The example we had
> > was as folllows:
> >
> > :- abducible p, q.
> >
> > false :- -p, -q.
> >
> > r :- p, q.
> >
> > https://swish.swi-prolog.org/p/disj_trial3.pl
> >
> > From classical logic and also in ordinary ASP, we will
> > not find that r occurs in all stable models. On the
> > other hand s(CAPS) seems to be able
> >
> > to prove both r and not r. LoL
> > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:48:41 UTC+1:
> > > Ok my bad, “not” is not classical negation, even clingo cant
> > > do it. The clause false :- not p, not q would be logical equivalent
> > > to p | q :- true if “not” were classical.
> > >
> > > But then I have a disjunctive head. How enter a disjunctive
> > > head in s(CASP)? In clingo I can do:
> > >
> > > p | q.
> > > p :- p.
> > > q :- q.
> > >
> > > r :- p.
> > > r :- q.
> > > And as expected it gives me two stable models.
> > >
> > > Answer: 1
> > > q r
> > > Answer: 2
> > > p r
> > >
> > > But SWI-Prolog s(CASP) gives me nothing. Was comparing to:
> > >
> > > https://potassco.org/clingo/run/
> > > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> > > > Now toying around with SWI-Prolog s(CASP). Wonder
> > > > why it has ASP = Answer Set Programming in its name?
> > > >
> > > > https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
> > > >
> > > > I am trying this:
> > > >
> > > > false :- not p, not q.
> > > >
> > > > p :- p.
> > > > q :- q.
> > > >
> > > > r :- p.
> > > > r :- q.
> > > >
> > > > Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=981&group=comp.lang.prolog#981

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:1317:: with SMTP id o23mr7433536qkj.189.1636225706633;
Sat, 06 Nov 2021 12:08:26 -0700 (PDT)
X-Received: by 2002:a25:2d17:: with SMTP id t23mr11276861ybt.409.1636225706412;
Sat, 06 Nov 2021 12:08:26 -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: Sat, 6 Nov 2021 12:08:26 -0700 (PDT)
In-Reply-To: <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 06 Nov 2021 19:08:26 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Sat, 6 Nov 2021 19:08 UTC

Now how do we do abduction. Well we split the propositonal
variables V into two camps, V1 the abducible ones, and V2
the normal ones. And then we issue the following question
towards the QSAT solver:

/* SWI-Prolog */
?- sat(V1 ~(V2^ ~(P =< Q))).

Lets do this for the example where r wasn't provable from
deduction alone. We make p and q abducible. Eh voila
r becomes provable:

?- sat(P^Q^ ~(R^ ~((P+Q)*(R>=P*Q)=<R))).
sat(P=:=P),
sat(Q=:=Q),
sat(R=:=R).

The sat(X=:=X) constraints can be ignored, they just say
that X is boolean. So this is now basically a true. We can also
ask ~r, and see that it also becomes provable:

?- sat(P^Q^ ~(R^ ~((P+Q)*(R>=P*Q)=< ~R))).
sat(P=:=P),
sat(Q=:=Q),
sat(R=:=R).

Thats pretty cool!

Mostowski Collapse schrieb am Samstag, 6. November 2021 um 20:07:33 UTC+1:
> There is an interesting relationship to QSAT. Namely
> we can do abduction in QSAT. At least it seems to me.
> First look at deduction and not abduction. Deduction
> would be verification of P |- Q, with P and Q given,
>
> no abducible A involved. In QSAT we can ask:
>
> /* SWI-Prolog */
> ?- sat(~(V^ ~(P =< Q))).
>
> What does this all mean? Well V are the propositional
> variables, and (^)/2 is the QSAT proositional existential
> quantifier, (~)/1 is boolean negation and (=<)/2 is boolean
> implication. So the problem I posed for ASP was simply:
>
> P: The logic program:
> p v q.
> r <- p & q.
>
> Q: The query to the logic program:
> ?- r.
>
> Now with a QSAT solver, such as SWI-Prolog, we see that
> r is not provable, namely we have:
>
> ?- use_module(library(clpb)).
> true.
>
> ?- sat(~(P^Q^R^ ~((P+Q)*(R>=P*Q)=<R))).
> false.
>
> Cool!
> Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:50:23 UTC+1:
> > Our own conclusion, that we can prove r and not r,
> > was that abduction is involved.
> >
> > If P is the s(CASP) program, and A is what was abducted, then
> > the s(CASP) query Q is resolved against the program P and the
> > the abducted facts A. So that you have:
> >
> > P, A |- Q.
> >
> > When I asked r, it abducted p,q. When I asked not r, it abducted ~p.
> > What was abducted is seen in the s(CASP) model section.
> > For example for the abducible fact p, the _p makes ~p.
> >
> > Oki Doki.
> > Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:49:25 UTC+1:
> > > So some conclusion was that s(CASP) probably doesn't
> > > do disjunctive logic programming. The example we had
> > > was as folllows:
> > >
> > > :- abducible p, q.
> > >
> > > false :- -p, -q.
> > >
> > > r :- p, q.
> > >
> > > https://swish.swi-prolog.org/p/disj_trial3.pl
> > >
> > > From classical logic and also in ordinary ASP, we will
> > > not find that r occurs in all stable models. On the
> > > other hand s(CAPS) seems to be able
> > >
> > > to prove both r and not r. LoL
> > > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:48:41 UTC+1:
> > > > Ok my bad, “not” is not classical negation, even clingo cant
> > > > do it. The clause false :- not p, not q would be logical equivalent
> > > > to p | q :- true if “not” were classical.
> > > >
> > > > But then I have a disjunctive head. How enter a disjunctive
> > > > head in s(CASP)? In clingo I can do:
> > > >
> > > > p | q.
> > > > p :- p.
> > > > q :- q.
> > > >
> > > > r :- p.
> > > > r :- q.
> > > > And as expected it gives me two stable models.
> > > >
> > > > Answer: 1
> > > > q r
> > > > Answer: 2
> > > > p r
> > > >
> > > > But SWI-Prolog s(CASP) gives me nothing. Was comparing to:
> > > >
> > > > https://potassco.org/clingo/run/
> > > > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> > > > > Now toying around with SWI-Prolog s(CASP). Wonder
> > > > > why it has ASP = Answer Set Programming in its name?
> > > > >
> > > > > https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
> > > > >
> > > > > I am trying this:
> > > > >
> > > > > false :- not p, not q.
> > > > >
> > > > > p :- p.
> > > > > q :- q.
> > > > >
> > > > > r :- p.
> > > > > r :- q.
> > > > >
> > > > > Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=982&group=comp.lang.prolog#982

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:27c3:: with SMTP id i3mr22028398qkp.442.1636225797415;
Sat, 06 Nov 2021 12:09:57 -0700 (PDT)
X-Received: by 2002:a25:afcf:: with SMTP id d15mr70158001ybj.320.1636225797207;
Sat, 06 Nov 2021 12:09:57 -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: Sat, 6 Nov 2021 12:09:57 -0700 (PDT)
In-Reply-To: <f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sat, 06 Nov 2021 19:09:57 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Sat, 6 Nov 2021 19:09 UTC

But there are even more tricks in stock with a QSAT
solver, especially from within Prolog. Works also for
Jekejeke Prolog not only SWI-Prolog. Namely listing models.
We can also list the countermodel to our failed prove

attempt in deduction:

?- sat(~((P+Q)*(R>=P*Q)=<R)), labeling([P,Q,R]).
P = 0, Q = 1, R = 0;
P = 1, Q = 0, R = 0.

Where deduction succeeds on the other and, and where
deduction and abduction is involved, we can list the
abducibles. Here our first successful deduction and abduction
test, more information about the abducibles:

/* Two Models */
?- sat(~(R^ ~((P+Q)*(R>=P*Q)=<R))), labeling([P,Q]).
P = 0, Q = 0;
P = 1, Q = 1.

And the second deduction and abduction test:

/* One Model */
?- sat(~(R^ ~((P+Q)*(R>=P*Q)=< ~R))), labeling([P,Q]).
P = 0, Q = 0.

The later makes us think about completion. What if
a Prolog r <- p & q effectively means r <-> p & q. This is
called closed world assumption. We can also tinker with
closed world assumption by replacing (>=)/2 by (=:=)/2:

/* Two Models */
?- sat(~(R^ ~((P+Q)*(R=:=P*Q)=<R))), labeling([P,Q]).
P = 0, Q = 0;
P = 1, Q = 1.

/* Three Models */
?- sat(~(R^ ~((P+Q)*(R=:=P*Q)=< ~R))), labeling([P,Q]).
P = 0, Q = 0;
P = 0, Q = 1;
P = 1, Q = 0.

Mostowski Collapse schrieb am Samstag, 6. November 2021 um 20:08:27 UTC+1:
> Now how do we do abduction. Well we split the propositonal
> variables V into two camps, V1 the abducible ones, and V2
> the normal ones. And then we issue the following question
> towards the QSAT solver:
>
> /* SWI-Prolog */
> ?- sat(V1 ~(V2^ ~(P =< Q))).
>
> Lets do this for the example where r wasn't provable from
> deduction alone. We make p and q abducible. Eh voila
> r becomes provable:
>
> ?- sat(P^Q^ ~(R^ ~((P+Q)*(R>=P*Q)=<R))).
> sat(P=:=P),
> sat(Q=:=Q),
> sat(R=:=R).
>
> The sat(X=:=X) constraints can be ignored, they just say
> that X is boolean. So this is now basically a true. We can also
> ask ~r, and see that it also becomes provable:
>
> ?- sat(P^Q^ ~(R^ ~((P+Q)*(R>=P*Q)=< ~R))).
> sat(P=:=P),
> sat(Q=:=Q),
> sat(R=:=R).
>
> Thats pretty cool!
> Mostowski Collapse schrieb am Samstag, 6. November 2021 um 20:07:33 UTC+1:
> > There is an interesting relationship to QSAT. Namely
> > we can do abduction in QSAT. At least it seems to me.
> > First look at deduction and not abduction. Deduction
> > would be verification of P |- Q, with P and Q given,
> >
> > no abducible A involved. In QSAT we can ask:
> >
> > /* SWI-Prolog */
> > ?- sat(~(V^ ~(P =< Q))).
> >
> > What does this all mean? Well V are the propositional
> > variables, and (^)/2 is the QSAT proositional existential
> > quantifier, (~)/1 is boolean negation and (=<)/2 is boolean
> > implication. So the problem I posed for ASP was simply:
> >
> > P: The logic program:
> > p v q.
> > r <- p & q.
> >
> > Q: The query to the logic program:
> > ?- r.
> >
> > Now with a QSAT solver, such as SWI-Prolog, we see that
> > r is not provable, namely we have:
> >
> > ?- use_module(library(clpb)).
> > true.
> >
> > ?- sat(~(P^Q^R^ ~((P+Q)*(R>=P*Q)=<R))).
> > false.
> >
> > Cool!
> > Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:50:23 UTC+1:
> > > Our own conclusion, that we can prove r and not r,
> > > was that abduction is involved.
> > >
> > > If P is the s(CASP) program, and A is what was abducted, then
> > > the s(CASP) query Q is resolved against the program P and the
> > > the abducted facts A. So that you have:
> > >
> > > P, A |- Q.
> > >
> > > When I asked r, it abducted p,q. When I asked not r, it abducted ~p.
> > > What was abducted is seen in the s(CASP) model section.
> > > For example for the abducible fact p, the _p makes ~p.
> > >
> > > Oki Doki.
> > > Mostowski Collapse schrieb am Donnerstag, 4. November 2021 um 08:49:25 UTC+1:
> > > > So some conclusion was that s(CASP) probably doesn't
> > > > do disjunctive logic programming. The example we had
> > > > was as folllows:
> > > >
> > > > :- abducible p, q.
> > > >
> > > > false :- -p, -q.
> > > >
> > > > r :- p, q.
> > > >
> > > > https://swish.swi-prolog.org/p/disj_trial3.pl
> > > >
> > > > From classical logic and also in ordinary ASP, we will
> > > > not find that r occurs in all stable models. On the
> > > > other hand s(CAPS) seems to be able
> > > >
> > > > to prove both r and not r. LoL
> > > > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:48:41 UTC+1:
> > > > > Ok my bad, “not” is not classical negation, even clingo cant
> > > > > do it. The clause false :- not p, not q would be logical equivalent
> > > > > to p | q :- true if “not” were classical.
> > > > >
> > > > > But then I have a disjunctive head. How enter a disjunctive
> > > > > head in s(CASP)? In clingo I can do:
> > > > >
> > > > > p | q.
> > > > > p :- p.
> > > > > q :- q.
> > > > >
> > > > > r :- p.
> > > > > r :- q.
> > > > > And as expected it gives me two stable models.
> > > > >
> > > > > Answer: 1
> > > > > q r
> > > > > Answer: 2
> > > > > p r
> > > > >
> > > > > But SWI-Prolog s(CASP) gives me nothing. Was comparing to:
> > > > >
> > > > > https://potassco.org/clingo/run/
> > > > > Mostowski Collapse schrieb am Mittwoch, 3. November 2021 um 15:47:38 UTC+1:
> > > > > > Now toying around with SWI-Prolog s(CASP). Wonder
> > > > > > why it has ASP = Answer Set Programming in its name?
> > > > > >
> > > > > > https://swish.swi-prolog.org/p/scasp_constraint_tests.pl
> > > > > >
> > > > > > I am trying this:
> > > > > >
> > > > > > false :- not p, not q.
> > > > > >
> > > > > > p :- p.
> > > > > > q :- q.
> > > > > >
> > > > > > r :- p.
> > > > > > r :- q.
> > > > > >
> > > > > > Shouldn’t the query ? r succeed? It gives me false.

Re: France is the Fire Nation of Prolog

<01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=984&group=comp.lang.prolog#984

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a37:27cc:: with SMTP id n195mr12052064qkn.507.1636545372569;
Wed, 10 Nov 2021 03:56:12 -0800 (PST)
X-Received: by 2002:a25:afcf:: with SMTP id d15mr16100033ybj.320.1636545372377;
Wed, 10 Nov 2021 03:56:12 -0800 (PST)
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: Wed, 10 Nov 2021 03:56:12 -0800 (PST)
In-Reply-To: <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 10 Nov 2021 11:56:12 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
 by: Mostowski Collapse - Wed, 10 Nov 2021 11:56 UTC

Was toying around with proof by cases, two versions
here of the Yale shooting problem:

/* s(CAPS) Style */
https://swish.swi-prolog.org/p/yale_shooting.pl

/* Negation as Failure Style */
https://swish.swi-prolog.org/p/yale_shooting2.pl

Had to double check, wasn’t sure anymore about my
claims. Could be that I am already rusty. Yes if you add
proof by cases to intuitionistic logic, you get classical logic.
At last Wikipedia also says so:

The system of classical logic is obtained by adding any one of the following axioms:

ϕ ∨ ¬ ϕ (Law of the excluded middle.
May also be formulated as ( ϕ → χ ) → ( ( ¬ ϕ → χ ) → χ ).)

https://en.wikipedia.org/wiki/Intuitionistic_logic#Relation_to_classical_logic

Now (A → (B → C)) is the same as A & B → C, so an alternative
to the Law of excluded middle (LEM) is indeed proof by cases.

Re: France is the Fire Nation of Prolog

<0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=985&group=comp.lang.prolog#985

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a05:620a:1a8b:: with SMTP id bl11mr11833594qkb.411.1636545490719; Wed, 10 Nov 2021 03:58:10 -0800 (PST)
X-Received: by 2002:a25:d211:: with SMTP id j17mr16834532ybg.146.1636545490519; Wed, 10 Nov 2021 03:58:10 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.uzoreto.com!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Wed, 10 Nov 2021 03:58:10 -0800 (PST)
In-Reply-To: <01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com> <05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com> <86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com> <ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com> <25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com> <7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com> <705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com> <149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com> <2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com> <f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com> <01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Wed, 10 Nov 2021 11:58:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 67
 by: Mostowski Collapse - Wed, 10 Nov 2021 11:58 UTC

But s(CAPS) could have some merits over lets say for example
negation as failure. Most likely s(CAPS) can be approached by
3-valued logic. There exist approaches to 3-valued logic where a

predicate p is split into p+ and p-. This would explain the ‘-Name’
in s(CASP). I made an interesting observation, this 3-valued logic is
possibly more monotonic than 2-valued logic with negation as failure.

Which then has impact on embedded implication. We are now talking
about logic programming and Prolog, and not anymore mathematical
logic. For example in this example here:

/* Negation as Failure Style */
?- (loaded => dead), dead.
true ;
false.

There is something non-monotonic going on. When I assume p in the
pressence of negation of failure I effectively assume p+ and retract p-. So
I am doing two things at once, the retract is a counter factual,

https://en.wikipedia.org/wiki/Counterfactual_conditional#Logic_and_semantics

I remove a fact. On the other hand adding embedded implication to s(CASP)
could lead to more monotonicity. This seen here. We could start with neither
p+ nor p- present, and this here has two monotonic movements by the

embedded implication:

/* s(CAPS) Style */
?- (loaded => dead), ('-loaded' => dead).
true ;
false.

Cool!

Mostowski Collapse schrieb am Mittwoch, 10. November 2021 um 12:56:13 UTC+1:
> Was toying around with proof by cases, two versions
> here of the Yale shooting problem:
>
> /* s(CAPS) Style */
> https://swish.swi-prolog.org/p/yale_shooting.pl
>
> /* Negation as Failure Style */
> https://swish.swi-prolog.org/p/yale_shooting2.pl
>
> Had to double check, wasn’t sure anymore about my
> claims. Could be that I am already rusty. Yes if you add
> proof by cases to intuitionistic logic, you get classical logic.
> At last Wikipedia also says so:
>
> The system of classical logic is obtained by adding any one of the following axioms:
>
> ϕ ∨ ¬ ϕ (Law of the excluded middle.
> May also be formulated as ( ϕ → χ ) → ( ( ¬ ϕ → χ ) → χ ).)
>
> https://en.wikipedia.org/wiki/Intuitionistic_logic#Relation_to_classical_logic
>
> Now (A → (B → C)) is the same as A & B → C, so an alternative
> to the Law of excluded middle (LEM) is indeed proof by cases.

Re: France is the Fire Nation of Prolog

<7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=990&group=comp.lang.prolog#990

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ac8:4e8f:: with SMTP id 15mr3995557qtp.265.1637030811173;
Mon, 15 Nov 2021 18:46:51 -0800 (PST)
X-Received: by 2002:a25:f50c:: with SMTP id a12mr4157917ybe.300.1637030810831;
Mon, 15 Nov 2021 18:46:50 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Mon, 15 Nov 2021 18:46:50 -0800 (PST)
In-Reply-To: <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
<01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com> <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 16 Nov 2021 02:46:51 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 28
 by: Mostowski Collapse - Tue, 16 Nov 2021 02:46 UTC

I tried this one now with s(CASP):

p(X,X).

q(X,Y) :- not p(X,Y).

?- ? q(X,Y).

And it gives me false. I was expecting dif(X,Y) instead.
Or what is the C in s(CASP)? C stands for constraints, right?

Edit 16.11.2021:
The original constructive negation paper (David Chan. 1988.
Constructive negation based on the completed database. In Proc. of ICLP-88.)
would at least require such an answer, since the completion of the fact p(X,X) is:

p(X,Y) <-> X = Y.

So when I call not p(X,Y), I basically call not X = Y, and the negation of unification
would be dif(X,Y) or somesuch. Can be expressed as constraint. The example
simple and doesn’t require quantifier elimination.

MiniKanren has recently tried to handle quantifiers:

Constructive Negation for MiniKanren
http://minikanren.org/workshop/2019/minikanren19-final4.pdf

Re: France is the Fire Nation of Prolog

<f5097e60-23e4-4df0-81cf-115c3e013729n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=991&group=comp.lang.prolog#991

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:a0c:df0c:: with SMTP id g12mr41955267qvl.24.1637031275716;
Mon, 15 Nov 2021 18:54:35 -0800 (PST)
X-Received: by 2002:a25:aba3:: with SMTP id v32mr4227917ybi.358.1637031275493;
Mon, 15 Nov 2021 18:54:35 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Mon, 15 Nov 2021 18:54:35 -0800 (PST)
In-Reply-To: <7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
<01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com> <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
<7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <f5097e60-23e4-4df0-81cf-115c3e013729n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Tue, 16 Nov 2021 02:54:35 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 36
 by: Mostowski Collapse - Tue, 16 Nov 2021 02:54 UTC

Strange that the MiniKanren paper doesn’t mention Kunen, Negation in
logic programming from 1987, where decidability of such constraint
problems was posited.

Mostowski Collapse schrieb am Dienstag, 16. November 2021 um 03:46:51 UTC+1:
> I tried this one now with s(CASP):
>
> p(X,X).
>
> q(X,Y) :- not p(X,Y).
>
> ?- ? q(X,Y).
>
> And it gives me false. I was expecting dif(X,Y) instead.
> Or what is the C in s(CASP)? C stands for constraints, right?
>
> Edit 16.11.2021:
> The original constructive negation paper (David Chan. 1988.
> Constructive negation based on the completed database. In Proc. of ICLP-88.)
> would at least require such an answer, since the completion of the fact p(X,X) is:
>
> p(X,Y) <-> X = Y.
>
> So when I call not p(X,Y), I basically call not X = Y, and the negation of unification
> would be dif(X,Y) or somesuch. Can be expressed as constraint. The example
> simple and doesn’t require quantifier elimination.
>
> MiniKanren has recently tried to handle quantifiers:
>
> Constructive Negation for MiniKanren
> http://minikanren.org/workshop/2019/minikanren19-final4.pdf

Re: France is the Fire Nation of Prolog

<df068b02-684e-4e07-ac25-d29b96d1bb32n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1019&group=comp.lang.prolog#1019

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ad4:5cef:: with SMTP id iv15mr4978219qvb.82.1637843109297;
Thu, 25 Nov 2021 04:25:09 -0800 (PST)
X-Received: by 2002:a25:8b07:: with SMTP id i7mr5809557ybl.334.1637843109069;
Thu, 25 Nov 2021 04:25:09 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Thu, 25 Nov 2021 04:25:08 -0800 (PST)
In-Reply-To: <f5097e60-23e4-4df0-81cf-115c3e013729n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
<01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com> <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
<7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com> <f5097e60-23e4-4df0-81cf-115c3e013729n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <df068b02-684e-4e07-ac25-d29b96d1bb32n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Thu, 25 Nov 2021 12:25:09 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 28
 by: Mostowski Collapse - Thu, 25 Nov 2021 12:25 UTC

Looks like Corona had people exploring SWISH.

Looks like Robert Kowalski is also into the business with
some s(CASP) variant. In his new paper he also references
a former project PENG-ASP, but this had one of the classical

ASP solvers underneath. Maybe there are more test cases
than only the test case I presented to figure out what s(CASP)
is doing. But his system emphasis natural language, is baptized

LE, and the characterization is a little vague. My idea that it does
also do abduction might be totally wrong. It could be even the
case that the example they show “query one with scenario two”,

is in fact embedded implication, “scenario two” => “query one”:

But, different from ACE and PENG, which are syntactic sugar
for first-order logic, LE is syntactic sugar for a variant of pure
Prolog, which is a non-monotonic, meta (or higher-order) logic.
The relationship of LE to this variant of Prolog is similar to the
relationship of PENG-ASP to the LP language ASP.
Logical English for Legal Applications
November 2021 - Robert Kowalski, Miguel Calejo and Jacinto Dávila
https://www.researchgate.net/publication/356287669

Pure Prolog and non-monotonic is a little in contradiction? :astonished:
Yes and No. The Clark Completion is non-monotonic.

Re: France is the Fire Nation of Prolog

<b82e1fda-6965-4abd-b97a-4cfc06090867n@googlegroups.com>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1020&group=comp.lang.prolog#1020

  copy link   Newsgroups: comp.lang.prolog
X-Received: by 2002:ae9:edd3:: with SMTP id c202mr33309795qkg.274.1638112946662;
Sun, 28 Nov 2021 07:22:26 -0800 (PST)
X-Received: by 2002:a25:42:: with SMTP id 63mr25196731yba.218.1638112946437;
Sun, 28 Nov 2021 07:22:26 -0800 (PST)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: comp.lang.prolog
Date: Sun, 28 Nov 2021 07:22:26 -0800 (PST)
In-Reply-To: <df068b02-684e-4e07-ac25-d29b96d1bb32n@googlegroups.com>
Injection-Info: google-groups.googlegroups.com; posting-host=77.57.53.70; posting-account=UjEXBwoAAAAOk5fiB8WdHvZddFg9nJ9r
NNTP-Posting-Host: 77.57.53.70
References: <d1ab4350-9a9d-49bc-845b-f10eeb1ec763n@googlegroups.com>
<05bdfa7b-7021-4124-b51f-0ec71d19bed9n@googlegroups.com> <c0112af5-55b4-4ad4-ae9e-992fa219746dn@googlegroups.com>
<86625add-7aa7-4f82-817d-ea2627c78805n@googlegroups.com> <4959a9d7-aca2-47bf-ab8c-5864b6a76d63n@googlegroups.com>
<ae2cfd85-2c8d-4501-a8e8-b266a8fc9ef8n@googlegroups.com> <b14d3af3-c57d-49d3-809c-27bb2b79bcc9n@googlegroups.com>
<25166ecd-8b31-4cc2-89f3-e38a7faf7d36n@googlegroups.com> <a3145f86-4898-4b6e-b296-cd87922e773fn@googlegroups.com>
<7d3447df-20a6-4b1d-ab7a-4c2b0262c78dn@googlegroups.com> <64c0ffa4-d27b-4631-ab98-1c7d68c53f8dn@googlegroups.com>
<705647cb-dced-43dd-a51b-e30ce65007c5n@googlegroups.com> <ed8c5e81-1659-4c94-815d-8e73e1d7dd27n@googlegroups.com>
<149a50c8-c4e5-470a-94f0-2d068a6ee61fn@googlegroups.com> <82ecb919-5817-4af2-bad0-727c82a74282n@googlegroups.com>
<2cb0c215-626f-4f57-9429-a96645865e90n@googlegroups.com> <27998c06-0018-4418-978a-25d45ce0fa4an@googlegroups.com>
<f86360f2-660d-4e3e-a671-e1c2d3fd0d7en@googlegroups.com> <d69779a3-6e17-4102-937a-5e36b543ca28n@googlegroups.com>
<01d79c0d-931f-43a6-94d2-3314e634e29cn@googlegroups.com> <0b41631c-941d-4c98-8319-7ff771a83306n@googlegroups.com>
<7016d5da-9606-406e-a209-f3ba29c2fdd2n@googlegroups.com> <f5097e60-23e4-4df0-81cf-115c3e013729n@googlegroups.com>
<df068b02-684e-4e07-ac25-d29b96d1bb32n@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b82e1fda-6965-4abd-b97a-4cfc06090867n@googlegroups.com>
Subject: Re: France is the Fire Nation of Prolog
From: bursejan@gmail.com (Mostowski Collapse)
Injection-Date: Sun, 28 Nov 2021 15:22:26 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 6
 by: Mostowski Collapse - Sun, 28 Nov 2021 15:22 UTC

This shows me that functional programming is on the decline:

Google Trends: Logic vs Functional Programming - From 2004 to 2021
https://trends.google.de/trends/explore?date=all&q=logic%20programming,functional%20programming

I wonder whether this will have an impact on proof assistants.
Some of them have clearly a functional programming inclining.


devel / comp.lang.prolog / Re: France is the Fire Nation of Prolog

Pages:1234
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor