Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

To downgrade the human mind is bad theology. -- C. K. Chesterton


tech / sci.logic / Self-evidently I am not my grandpa

SubjectAuthor
* Self-evidently I am not my grandpaMild Shock
+* Re: Self-evidently I am not my grandpaBarb Knox
|`* Re: Self-evidently I am not my grandpaMild Shock
| +- Re: Self-evidently I am not my grandpaMild Shock
| +- Re: Self-evidently I am not my grandpaBarb Knox
| `* Re: Self-evidently I am not my grandpaJeff Barnett
|  `- Re: Self-evidently I am not my grandpaMild Shock
`* Re: Self-evidently I am not my grandpaMild Shock
 `- Re: Self-evidently I am not my grandpaMild Shock

1
Self-evidently I am not my grandpa

<v0hvp5$25uj$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6027&group=sci.logic#6027

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Self-evidently I am not my grandpa
Date: Sat, 27 Apr 2024 14:43:12 +1000
Message-ID: <v0hvp5$25uj$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sat, 27 Apr 2024 04:43:17 -0000 (UTC)
Injection-Info: solani.org;
logging-data="71635"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:Q0eqMm4cl6wU8s1RRj0xA4eREFk=
X-User-ID: eJwNysEBwCAIA8CVqBDiOoBm/xHsvQ+eXw4jkQFBAnwiwny6NksuUlhukZ1Z/1sXXYxtMtw7wyq2esvPmQdLvhYk
X-Mozilla-News-Host: news://news.solani.org:119
 by: Mild Shock - Sat, 27 Apr 2024 04:43 UTC

Lets take this "truth":

> Quine explains, “No bachelor is married,” where
the meaning of the word ‘bachelor’ is synonymous
with the meaning of the word ‘unmarried.’ However,
we can make this kind of analytic claim into a
logical truth (as defined above) by replacing
‘bachelor’ with its synonym, that is, ‘unmarried man,’
to get “No unmarried man is married,” which is an
instance of No not-X is X.

Then examine this "truth":

Lets say you build a Prolog family database and
make definitions for father, grand-father etc..
Will this Prolog family database exclude:

"Im my own grandpa"

Re: Self-evidently I am not my grandpa

<v0nmc7$1kvn0$1@dont-email.me>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6145&group=sci.logic#6145

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Barb@sig.below (Barb Knox)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Mon, 29 Apr 2024 20:39:30 +1200
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <v0nmc7$1kvn0$1@dont-email.me>
References: <v0hvp5$25uj$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 29 Apr 2024 10:39:36 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="41efda3049b94d037b8b8061d3ffa852";
logging-data="1736416"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/8yqRcT3AfwB/omCp8pdNP"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:ALX1+VdM2Q9cFUx+yq09Eo8MjEk=
Content-Language: en-GB
In-Reply-To: <v0hvp5$25uj$1@solani.org>
 by: Barb Knox - Mon, 29 Apr 2024 08:39 UTC

On 27/04/2024 16:43, Mild Shock wrote:
> Lets take this "truth":
>
>> Quine explains, “No bachelor is married,” where
> the meaning of the word ‘bachelor’ is synonymous
> with the meaning of the word ‘unmarried.’ However,
> we can make this kind of analytic claim into a
> logical truth (as defined above) by replacing
> ‘bachelor’ with its synonym, that is, ‘unmarried man,’
> to get “No unmarried man is married,” which is an
> instance of No not-X is X.
>
> Then examine this "truth":
>
> Lets say you build a Prolog family database and
> make definitions for father, grand-father etc..
> Will this Prolog family database exclude:
>
> "Im my own grandpa"

If you want it to. The additional rule needed is that X can not be an
ancestor of X.

--
---------------------------
| BBB b \ Barbara at LivingHistory stop co stop uk
| B B aa rrr b |
| BBB a a r bbb | Quidquid latine dictum sit,
| B B a a r b b | altum videtur.
| BBB aa a r bbb |
-----------------------------

Re: Self-evidently I am not my grandpa

<v0o032$5j35$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6154&group=sci.logic#6154

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Mon, 29 Apr 2024 21:25:22 +1000
Message-ID: <v0o032$5j35$1@solani.org>
References: <v0hvp5$25uj$1@solani.org> <v0nmc7$1kvn0$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 29 Apr 2024 11:25:22 -0000 (UTC)
Injection-Info: solani.org;
logging-data="183397"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:Of5qyj+04vvFpr0cXQDkT/8LkjQ=
X-User-ID: eJwFwQkBwDAIA0BLMMJTOYUS/xJ25xYakwgPOJ3Fs6yy0gG5NSO5Nx7BPp/m1d11hTx2f0ynJafQks8g+AF/sBZp
In-Reply-To: <v0nmc7$1kvn0$1@dont-email.me>
 by: Mild Shock - Mon, 29 Apr 2024 11:25 UTC

Well I forgot to say, that only first order
logic with equality, FOL=, is available.

How would you define ancestor?

Barb Knox schrieb:
> On 27/04/2024 16:43, Mild Shock wrote:
>> Lets take this "truth":
>>
>>> Quine explains, “No bachelor is married,” where
>> the meaning of the word ‘bachelor’ is synonymous
>> with the meaning of the word ‘unmarried.’ However,
>> we can make this kind of analytic claim into a
>> logical truth (as defined above) by replacing
>> ‘bachelor’ with its synonym, that is, ‘unmarried man,’
>> to get “No unmarried man is married,” which is an
>> instance of No not-X is X.
>>
>> Then examine this "truth":
>>
>> Lets say you build a Prolog family database and
>> make definitions for father, grand-father etc..
>> Will this Prolog family database exclude:
>>
>> "Im my own grandpa"
>
> If you want it to.  The additional rule needed is that X can not be an
> ancestor of X.
>
> --
> ---------------------------
> |  BBB                b    \   Barbara at LivingHistory stop co stop uk
> |  B  B   aa     rrr  b     |
> |  BBB   a  a   r     bbb   |  Quidquid latine dictum sit,
> |  B  B  a  a   r     b  b  |  altum videtur.
> |  BBB    aa a  r     bbb   |
> -----------------------------
>

Re: Self-evidently I am not my grandpa

<v0o332$5krh$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6155&group=sci.logic#6155

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Mon, 29 Apr 2024 22:16:31 +1000
Message-ID: <v0o332$5krh$1@solani.org>
References: <v0hvp5$25uj$1@solani.org> <v0nmc7$1kvn0$1@dont-email.me>
<v0o032$5j35$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 29 Apr 2024 12:16:34 -0000 (UTC)
Injection-Info: solani.org;
logging-data="185201"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:BTKp2YtETfhjgToV10obHZL7hXU=
In-Reply-To: <v0o032$5j35$1@solani.org>
X-User-ID: eJwFwQkBwDAIA0BL/LRyUkb8S9hdemlNR2VFMmkjG72M28YAoEO0fxrr8Voxry7sQGaxaaQjU/gdwUm8H3MKFpk=
 by: Mild Shock - Mon, 29 Apr 2024 12:16 UTC

As expected, if I only use this Prolog:

grand_father(X,Y) :- father(X,Z), father(Z,Y).

Applying Clark Completion gets me this closed formula:

∀X∀Y(∃Z(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)).

Asking for counter models to ~ "Im my own grandpa" entailment:

% ?- problem(1, F), counter(F, M).
% M = [father(0, 0)-1, grand_father(0, 0)-1]
% Etc..
% M = [father(1, 1)-0, father(1, 0)-1, father(0, 1)-1,
% grand_father(1, 1)-1, father(0, 0)-0, grand_father(1, 0)-0,
% grand_father(0, 1)-0, grand_father(0, 0)-1]
% Etc..

The first solution, is from a domain with size N=1,
and it basically says a counter model is when
there is an individual 0, which is its own father.

The second solution, is from a domain with size N=2,
and it basically says a counter model is when
there are two individuals 0 and 1, which are each others father.

Etc..

Source code:

% problem(+Integer, -Formula)
problem(1, (
![X]:![Y]:(?[Z]:(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)) =>
~ ?[X]:grand_father(X,X))).

% counter(+Formula, -Model)
counter(F, M) :-
between(1, 3, N),
expand(F, N, G),
quine(G, M, V),
V = 0.

Plus expand/3 and quine/3 are found here:
https://swi-prolog.discourse.group/t/7398

Mild Shock schrieb:
>
> Well I forgot to say, that only first order
> logic with equality, FOL=, is available.
>
> How would you define ancestor?
>
> Barb Knox schrieb:
>> On 27/04/2024 16:43, Mild Shock wrote:
>>> Lets take this "truth":
>>>
>>>> Quine explains, “No bachelor is married,” where
>>> the meaning of the word ‘bachelor’ is synonymous
>>> with the meaning of the word ‘unmarried.’ However,
>>> we can make this kind of analytic claim into a
>>> logical truth (as defined above) by replacing
>>> ‘bachelor’ with its synonym, that is, ‘unmarried man,’
>>> to get “No unmarried man is married,” which is an
>>> instance of No not-X is X.
>>>
>>> Then examine this "truth":
>>>
>>> Lets say you build a Prolog family database and
>>> make definitions for father, grand-father etc..
>>> Will this Prolog family database exclude:
>>>
>>> "Im my own grandpa"
>>
>> If you want it to.  The additional rule needed is that X can not be an
>> ancestor of X.
>>
>> --
>> ---------------------------
>> |  BBB                b    \   Barbara at LivingHistory stop co stop uk
>> |  B  B   aa     rrr  b     |
>> |  BBB   a  a   r     bbb   |  Quidquid latine dictum sit,
>> |  B  B  a  a   r     b  b  |  altum videtur.
>> |  BBB    aa a  r     bbb   |
>> -----------------------------
>>
>

Re: Self-evidently I am not my grandpa

<v0p37k$1vog5$1@dont-email.me>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6171&group=sci.logic#6171

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Barb@sig.below (Barb Knox)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Tue, 30 Apr 2024 09:25:07 +1200
Organization: A noiseless patient Spider
Lines: 51
Message-ID: <v0p37k$1vog5$1@dont-email.me>
References: <v0hvp5$25uj$1@solani.org> <v0nmc7$1kvn0$1@dont-email.me>
<v0o032$5j35$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 29 Apr 2024 23:25:09 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="41efda3049b94d037b8b8061d3ffa852";
logging-data="2089477"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19bH+cJYPd8UXPsL3FLu3to"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:0uXQfzm+MzWGjnJIt8PxAxwOBOc=
In-Reply-To: <v0o032$5j35$1@solani.org>
Content-Language: en-GB
 by: Barb Knox - Mon, 29 Apr 2024 21:25 UTC

On 29/04/2024 23:25, Mild Shock wrote:
>
> Well I forgot to say, that only first order
> logic with equality, FOL=, is available.

It's not clear to me whether you are asking about FOL=, or Prolog. (You
do know that they are not the same, right?)

> How would you define ancestor?

The usual way.

This is beginning to smell a lot like homework.

Maybe you should take this to comp.lang.prolog (where they also resist
doing people's homework for them, but maybe someone's sense of smell is
less acute then mine).

> Barb Knox schrieb:
>> On 27/04/2024 16:43, Mild Shock wrote:
>>> Lets take this "truth":
>>>
>>>> Quine explains, “No bachelor is married,” where
>>> the meaning of the word ‘bachelor’ is synonymous
>>> with the meaning of the word ‘unmarried.’ However,
>>> we can make this kind of analytic claim into a
>>> logical truth (as defined above) by replacing
>>> ‘bachelor’ with its synonym, that is, ‘unmarried man,’
>>> to get “No unmarried man is married,” which is an
>>> instance of No not-X is X.
>>>
>>> Then examine this "truth":
>>>
>>> Lets say you build a Prolog family database and
>>> make definitions for father, grand-father etc..
>>> Will this Prolog family database exclude:
>>>
>>> "Im my own grandpa"
>>
>> If you want it to.  The additional rule needed is that X can not be an
>> ancestor of X.
>>--
---------------------------
| BBB b \ Barbara at LivingHistory stop co stop uk
| B B aa rrr b |
| BBB a a r bbb | Quidquid latine dictum sit,
| B B a a r b b | altum videtur.
| BBB aa a r bbb |
-----------------------------

Re: Self-evidently I am not my grandpa

<v0pta7$28t2g$1@dont-email.me>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6182&group=sci.logic#6182

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: jbb@notatt.com (Jeff Barnett)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Mon, 29 Apr 2024 22:50:15 -0600
Organization: A noiseless patient Spider
Lines: 21
Message-ID: <v0pta7$28t2g$1@dont-email.me>
References: <v0hvp5$25uj$1@solani.org> <v0nmc7$1kvn0$1@dont-email.me>
<v0o032$5j35$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
Injection-Date: Tue, 30 Apr 2024 06:50:16 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="edd790411981c5f121b01e8abcb4c4ba";
logging-data="2389072"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19Ydc8uvHNhRpWbmP+F/pWDTUHNvEylrbw="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Mqu5TskbcdVOjjPu411Qe2PIU2A=
Content-Language: en-US
In-Reply-To: <v0o032$5j35$1@solani.org>
 by: Jeff Barnett - Tue, 30 Apr 2024 04:50 UTC

On 4/29/2024 5:25 AM, Mild Shock wrote:
>
> Well I forgot to say, that only first order
> logic with equality, FOL=, is available.
You also forgot that you posed this as a Prolog, not an FOL, problem.
> How would you define ancestor?
>
> Barb Knox schrieb:
>> On 27/04/2024 16:43, Mild Shock wrote:
>>> Lets take this "truth":
>>>
>>>> Quine explains, “No bachelor is married,” where
>>> the meaning of the word ‘bachelor’ is synonymous
>>> with the meaning of the word ‘unmarried.’ However,
>>> we can make this kind of analytic claim into a
>>> logical truth (as defined above) by replacing
>>> ‘bachelor’ with its synonym, that is, ‘unmarried man,’
>>> to get “No unmarried man is married,” which is an
>>> instance of No not-X is X.
>>>
>>> Then examine this "truth":
>>>
>>> Lets say you build a Prolog family database and
>>> make definitions for father, grand-father etc..
>>> Will this Prolog family database exclude:
>>>
>>> "Im my own grandpa"
>>
>> If you want it to.  The additional rule needed is that X can not be an
>> ancestor of X.--
Jeff Barnett

Re: Self-evidently I am not my grandpa

<v0qfmr$6vn6$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6185&group=sci.logic#6185

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Tue, 30 Apr 2024 20:04:10 +1000
Message-ID: <v0qfmr$6vn6$1@solani.org>
References: <v0hvp5$25uj$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 30 Apr 2024 10:04:12 -0000 (UTC)
Injection-Info: solani.org;
logging-data="229094"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:6OOMnzJiuVgcKEZtn+EXuiRq5kw=
In-Reply-To: <v0hvp5$25uj$1@solani.org>
X-User-ID: eJwNxcEBwCAIA8CViECUcRBh/xHa+5wrwdpGp/n4IMFb6HV65cYNH6N6XCuejNoPJWjn/edC5/OOw5DRFtEPTn4VJg==
 by: Mild Shock - Tue, 30 Apr 2024 10:04 UTC

Its only work if you don't like it, otherwise
its pure logic programming joy. I didn't have
time to try an ancestor formalization yet.

Yes the requirememt is FOL, from the SWI-Prolog
thread one can extract that I am using the
Vidal-Rosset Variant of the Otten Prover Syntax:

:- op( 500, fy, ~). % negation
:- op(1000, xfy, &). % conjunction
:- op(1100, xfy, '|'). % disjunction
:- op(1110, xfy, =>). % conditional
:- op(1120, xfy, <=>). % biconditional
:- op( 500, fy, !). % universal quantifier: ![X]:
:- op( 500, fy, ?). % existential quantifier: ?[X]:
:- op( 500,xfy, :).

Thats the Operator definitions in Prolog
to feed the Otten Prover with FOL formulas.
I use the same Operators to feed my model

finder with FOL formulas. Now I have rewritten
the model finder to give a better output:

?- counter(1).
father(0,0)-1
grand_father(0,0)-1
true ;
[...]
father(0,0)-0
father(0,1)-1
father(1,0)-1
father(1,1)-0
grand_father(0,0)-1
grand_father(0,1)-0
grand_father(1,0)-0
grand_father(1,1)-1
true

This is the cosmetic makeover of the model finder:

% problem(+Integer, -Formula)
problem(1, (
![X]:![Y]:(?[Z]:(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)) =>
~ ?[X]:grand_father(X,X))).

% counter(+Integer)
counter(K) :-
problem(K, F),
between(1, 3, N),
expand(F, N, G),
quine(G, M, V),
V = 0,
keysort(M, L),
(member(X, L), write(X), nl, fail; true).

Plus expand/3 and quine/3 are found here:
https://swi-prolog.discourse.group/t/7398

Barb Knox schrieb:
> This is beginning to smell a lot like homework.

Re: Self-evidently I am not my grandpa

<v0qg4e$704v$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6186&group=sci.logic#6186

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Tue, 30 Apr 2024 20:11:22 +1000
Message-ID: <v0qg4e$704v$1@solani.org>
References: <v0hvp5$25uj$1@solani.org> <v0nmc7$1kvn0$1@dont-email.me>
<v0o032$5j35$1@solani.org> <v0pta7$28t2g$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 30 Apr 2024 10:11:26 -0000 (UTC)
Injection-Info: solani.org;
logging-data="229535"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:wMIwtZ7gtahUEzGQ5Pku9p/bOl8=
X-User-ID: eJwFwQkBwDAIA0BLfAEqZ9DUv4TdwVNzKxIZeHjDRK0Iv1YGhg/VWie8FCGET96Jq7NFBa3Fx3pk1U7Afkl0FMc=
In-Reply-To: <v0pta7$28t2g$1@dont-email.me>
 by: Mild Shock - Tue, 30 Apr 2024 10:11 UTC

Jeff/Barb you might be highly confused! This is Prolog:

grand_father(X,Y) :- father(X,Z), father(Z,Y).

But this is FOL:

∀X∀Y(∃Z(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)).

The manual method to go from Prolog to FOL is
the so called Clark Completion. It was recently
made popular again by SWI-Prolog's s(CASP),

but the method exists already quite long:

Logic Programming Theory Lecture 8: Clark Completion
https://www.inf.ed.ac.uk/teaching/courses/lp/2012/slides/lpTheory8.pdf

But I am using it manually as well here. You see
the FOL formula I used as input to the model finder
in the problem/2 fact:

% problem(+Integer, -Formula)
problem(1, (
![X]:![Y]:(?[Z]:(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)) =>
~ ?[X]:grand_father(X,X))).

Jeff Barnett schrieb:
> You also forgot that you posed this as a Prolog, not an FOL, problem.

Re: Self-evidently I am not my grandpa

<v0un2a$8urh$1@solani.org>

  copy mid

https://news.novabbs.org/tech/article-flat.php?id=6209&group=sci.logic#6209

  copy link   Newsgroups: sci.logic
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!reader5.news.weretis.net!news.solani.org!.POSTED!not-for-mail
From: janburse@fastmail.fm (Mild Shock)
Newsgroups: sci.logic
Subject: Re: Self-evidently I am not my grandpa
Date: Thu, 2 May 2024 10:34:17 +1000
Message-ID: <v0un2a$8urh$1@solani.org>
References: <v0hvp5$25uj$1@solani.org> <v0qfmr$6vn6$1@solani.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 2 May 2024 00:34:18 -0000 (UTC)
Injection-Info: solani.org;
logging-data="293745"; mail-complaints-to="abuse@news.solani.org"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Firefox/91.0 SeaMonkey/2.53.18.2
Cancel-Lock: sha1:iRc12FjDMIJi2XM2uvJAqxr5Bhs=
X-User-ID: eJwFwYEBwDAEBMCVyntknBD2H6F3hIt3mNONyy0vhdtgVwpSqTI67Ll4Z4J8LyISWRvt/W3AkLNG1XMxP16oFaQ=
In-Reply-To: <v0qfmr$6vn6$1@solani.org>
 by: Mild Shock - Thu, 2 May 2024 00:34 UTC

Hi,

A full version that has operator definitions
that also work for Scryer Prolog and that uses a
Quine algorithm that even supports function

symbols like in Mace4 by McCune, is found
here on SWI-Prolog SWISH:

McCunes Mace4 Model Finder
https://swish.swi-prolog.org/p/mace4.swinb

Have Fun!

Mild Shock schrieb:
> Its only work if you don't like it, otherwise
> its pure logic programming joy. I didn't have
> time to try an ancestor formalization yet.
>
> Yes the requirememt is FOL, from the SWI-Prolog
> thread one can extract that I am using the
> Vidal-Rosset Variant of the Otten Prover Syntax:
>
> :- op( 500, fy, ~).     % negation
> :- op(1000, xfy, &).    % conjunction
> :- op(1100, xfy, '|').  % disjunction
> :- op(1110, xfy, =>).   % conditional
> :- op(1120, xfy, <=>).  % biconditional
> :- op( 500, fy, !).     % universal quantifier:  ![X]:
> :- op( 500, fy, ?).     % existential quantifier:  ?[X]:
> :- op( 500,xfy, :).
>
> Thats the Operator definitions in Prolog
> to feed the Otten Prover with FOL formulas.
> I use the same Operators to feed my model
>
> finder with FOL formulas. Now I have rewritten
> the model finder to give a better output:
>
> ?- counter(1).
> father(0,0)-1
> grand_father(0,0)-1
> true ;
> [...]
> father(0,0)-0
> father(0,1)-1
> father(1,0)-1
> father(1,1)-0
> grand_father(0,0)-1
> grand_father(0,1)-0
> grand_father(1,0)-0
> grand_father(1,1)-1
> true
>
> This is the cosmetic makeover of the model finder:
>
> % problem(+Integer, -Formula)
> problem(1, (
>   ![X]:![Y]:(?[Z]:(father(X,Z) & father(Z,Y)) <=> grand_father(X,Y)) =>
>   ~ ?[X]:grand_father(X,X))).
>
> % counter(+Integer)
> counter(K) :-
>    problem(K, F),
>    between(1, 3, N),
>    expand(F, N, G),
>    quine(G, M, V),
>    V = 0,
>    keysort(M, L),
>    (member(X, L), write(X), nl, fail; true).
>
> Plus expand/3 and quine/3 are found here:
> https://swi-prolog.discourse.group/t/7398
>
> Barb Knox schrieb:
> > This is beginning to smell a lot like homework.


tech / sci.logic / Self-evidently I am not my grandpa

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor