Liste des Groupes | Revenir à s logic |
On 2025-02-26 14:42:23 +0000, olcott said:There is no "need not fail" Clocksin and Mellish says
On 2/26/2025 3:12 AM, Mikko wrote:Is this just an instance or your favorite sin? If not, what do you thinkOn 2025-02-25 21:07:31 +0000, olcott said:>
>On 2/25/2025 9:27 AM, Mikko wrote:>On 2025-02-24 21:31:26 +0000, olcott said:>
>On 2/24/2025 2:51 AM, Mikko wrote:>On 2025-02-22 17:24:59 +0000, olcott said:>
>On 2/22/2025 3:12 AM, Mikko wrote:>On 2025-02-21 23:22:23 +0000, olcott said:>
>On 2/20/2025 3:01 AM, Mikko wrote:>On 2025-02-18 13:50:22 +0000, olcott said:>
>There is nothing like that in the following concrete example:>
LP := ~True(LP)
>
In other words you are saying the Prolog is incorrect
to reject the Liar Paradox.
>
Above translated to Prolog
>
?- LP = not(true(LP)).
LP = not(true(LP)).
According to Prolog rules LP = not(true(LP)) is permitted to fail.
If it succeeds the operations using LP may misbehave. A memory
leak is also possible.
>?- unify_with_occurs_check(LP, not(true(LP))).>
false
This merely means that the result of unification would be that LP conains
itself. It could be a selmantically valid result but is not in the scope
of Prolog language.
>
It does not mean that. You are wrong.
It does in the context where it was presented. More generally,
unify_with_occurs_check also fails if the arguments are not
unfiable. But this possibility is already excluded by their
successfull unification.
IT CANNOT POSSIBLY BE SEMANTICALLY VALID
Of course it is. Its semantics is well defined by the Prolog standard.
Go freaking read the Clocksin and Mellish.
an "infinite term" means NOT SEMANTICALLY VALID.
Prolog does not define any semantics other than the execution semantics
of a prolog program. Therefore no data structure has any own semantics.
>
The result of the exectution of an instruction like LP == not(true(LP))
is not fully defined by the standard so we may say that that instruction
is semantically invalid.
>
When we ask for Prolog to determine whether an expression
in Prolog is true according to its facts and rules and the
evaluation of the expression gets stuck in an infinite loop
then this expression IS SEMANTICALLY INCORRECT.
Which is not done anywhere above.
>
In other words you can't remember things that I said
a few messages ago and I have to endlessly repeat everything
every time?
I didn't remember?
page 3 has the liar paradox and the Cloksin & Mellish QuoteIt just says that your prolog system is defective as it does not reject
https://www.researchgate.net/ publication/350789898_Prolog_detects_and_rejects_pathological_self_reference_in_the_Godel_sentence
your LP = not(true(LP)). The Prolog standard says that this operation may
but need not fail. It also cortectly says that
LP = not(true(LP)), write(LP)
would not work.
Les messages affichés proviennent d'usenet.