Liste des Groupes | Revenir à s logic |
On 2/25/2025 9:27 AM, Mikko wrote:Which is not done anywhere above.On 2025-02-24 21:31:26 +0000, olcott said:When we ask for Prolog to determine whether an expression
On 2/24/2025 2:51 AM, Mikko wrote:Prolog does not define any semantics other than the execution semanticsOn 2025-02-22 17:24:59 +0000, olcott said:Go freaking read the Clocksin and Mellish.
On 2/22/2025 3:12 AM, Mikko wrote:Of course it is. Its semantics is well defined by the Prolog standard.On 2025-02-21 23:22:23 +0000, olcott said:IT CANNOT POSSIBLY BE SEMANTICALLY VALID
On 2/20/2025 3:01 AM, Mikko wrote:It does in the context where it was presented. More generally,On 2025-02-18 13:50:22 +0000, olcott said:It does not mean that. You are wrong.
There is nothing like that in the following concrete example:According to Prolog rules LP = not(true(LP)) is permitted to fail.
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)).
If it succeeds the operations using LP may misbehave. A memory
leak is also possible.
?- unify_with_occurs_check(LP, not(true(LP))).This merely means that the result of unification would be that LP conains
false
itself. It could be a selmantically valid result but is not in the scope
of Prolog language.
unify_with_occurs_check also fails if the arguments are not
unfiable. But this possibility is already excluded by their
successfull unification.
an "infinite term" means NOT SEMANTICALLY VALID.
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.
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.
Les messages affichés proviennent d'usenet.