Re: instead of "Pure Prolog" (H-Prolog and SH-Prolog ?)

>> Sandro Hawke wrote:
>> > >From WG discussions it seems like the right term is probably 
"Sequential
>> > Horn Clauses with Prolog Syntax", 
>> 
>> What means for a clause to bew "sequential" or not to be "sequential"? 
A
>> clause is a piece of text, and text is always "sequential", isn't it?
>> 
>> Are you not referring instead to how the clauses are processed? Eg to a
>> proof calculus or proof method?
>
>Yes, the naming is not perfect.  The word "Sequential" is in there to
>indicate that the order of clauses and the order of atoms within clauses
>are significant.   I'm not sure how significant they should be.
>
>1.  Test case for answer ordering:
>
>    Input ruleset (in SH-Prolog)
>
>       x(a).
>       x(b).
>
>    Answers to query: x(X)
>
>       X = a;
>       X = b;
>       no
>
>    Answers must be in that order.
>
>2.  Test case for looping
>
>    Input ruleset
>
>       foo.
>       bar :- bar.
>       bar :- foo.
>
>    Query: bar
>
>    In normal (SLD-Resolution) Prologs, that query does not terminate.
>    In tabled Prologs like XSB, the answer is "yes".
>
>So, I don't really know which kind of language SH-Prolog should be to be
>a suitable, simple, early example for RIF.
>
>Maybe we should have "SH-Prolog" which is like traditional Prologs on
>the above tests, and "H-Prolog" in which order does not matter.
>H-Prolog could be handled by XSB easily or re-written into depth-limited
>rules for use in a normal Prolog engine and run with iterative
>deepening.  (That might not have 100% correct semantics, though.)
>
>Thoughts?

Yes, I agree and see that you have been probably running those tests :)
Also using a Prolog notation for your second test I was able to run
it as well with euler5 (without looping forever)

:- op(1200,xfx,'==>').
foo(a,b).
bar(u,v) ==> bar(u,v).
foo(a,b) ==> bar(u,v).
bar(X,Y) ==> case(bar(X,Y)).  % for the query

and it answers with

[ e:th {{a foo b} => {u bar v}}].
u bar v.

which is N3 notation and I will second your "RIF must cover N3".

-- 
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/

Received on Tuesday, 9 May 2006 21:00:08 UTC