Thanks, Peter.  Your point about there not being a "proper" Prolog
interpreter according to that definition is shared by Reiter.

On Nov 4, 2008, at 12:23 AM, Peter Van Weert wrote:

Hal Hildebrand wrote:
I'm doing some offline research on Reiter's GOLOG and came across hi
assertion that he requires a "proper prolog interpreter".  Since I'm
going to be using JESS rather than a prolog interpreter for this
bit of
investigation, I was wondering if JESS actually does meet his
requirement:

   A /proper/ Prolog interpreter is one that evaluates a negative
   literal not *A*, using negation-as-failure, and moreover, does so
   /only when (at the time of evaluation)/ the atom *A* /is ground/.
    When *A* is not ground, the interpreter may suspend its
evaluation,
   working on other literals until (with luck) *A* does become
ground,
   or it may abort its computation.  Either way, it never tries to
fail
   on non-ground atoms

Obviously, I'm way out of my league here if I don't know the answer
to
the question as to whether JESS satisfies this requirement, but I
thought I'd get the answer from those who do know.

In a way it does, but probably not the way you want. Its true that
Jess
will never try to fail on non-ground atoms, but only because neither
non-ground atoms or negation-as-failure are supported by Jess. Jess is
not Prolog, nor will it ever be. Jess is a forward chaining rule
engine,
Prolog is a backward chaining engine with built-in chronological
backtracking. Jess only supports ground data (and objects), whereas
Prolog reasons over non-ground logical data. So, though there is an
overlap in application areas, Prolog and Jess are quite different
languages.

Btw: I haven't read Reiter's work, so I do not know why he's
defining a
"proper" Prolog interpreter that way, but I do know that using that
definition no Prolog implementation I know of is "proper", nor should
they be. All Prolog engines attempt negation-as-failure for non-ground
data, and I'm pretty sure that's also what the Prolog language
standard
demands.

Peter

<Peter_VanWeert.vcf>



--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to