W3C home > Mailing lists > Public > public-rif-wg@w3.org > March 2006

Re: On production rules and phase I&II

From: Frank McCabe <frank.mccabe@us.fujitsu.com>
Date: Tue, 7 Mar 2006 22:44:42 -0800
Message-Id: <37F5C77E-487F-4871-B5D5-2B842FD6C89D@us.fujitsu.com>
To: public-rif-wg@w3.org

The lack of recursion comes from the mapping into
isTrue(C) <- A ^ B

Actually, the mapping I saw for phase I PRs was

mustBeTrue(C) <- A ^ B

which is a closer fit to the original meaning of assert; since C *may  
not* be true prior to the use of the rule.

To support chaining in PRs you must go on from mustBeTrue to being  
true! That is where possible worlds comes in -- if you want to be  
halfway faithful to the intent of PRs.

Also, I understand that chaining in PRs is not  necessarily automatic  
(what is?) Hence you may wish to suppress chaining. Hence the lack of  
recursion.

I apologize if I gave the impression that the logic part of Phase I  
would not support recursion, I would have been flabbergasted to hear  
that!

Frank

On Mar 7, 2006, at 3:10 PM, Peter F. Patel-Schneider wrote:

> From: Frank McCabe <frank.mccabe@us.fujitsu.com>
> Subject: On production rules and phase I&II
> Date: Tue, 7 Mar 2006 14:56:37 -0800
>
>>
>> Part of the proposed plan is to partition the handling of production
>> rules across the phases, with phase I being the 'pure' subset of
>> production rules.
>>
>> The pure subset corresponding to an extremely small subset of horn
>> clause logic (no recursion!) and an extremely small subset of PR (no
>> modify or remove in the action part of the rule)
>
> I don't understand where the "no recursion" comes from here.  Could  
> you perhaps
> point to evidence that recursion is not going to be part of phase I?
>
>> Quite apart from the fact that that to isolate this small subset of
>> PRs is to completely miss the point & approach of PRs, there is a
>> further technical issue.
>>
>> It is possible to map a rule of the form
>>
>> when A & B then assert C
>>
>> into a 'horn clause' of the form
>>
>> isTrue(C) <- A ^ B
>
> Well, maybe, but wouldn't it be much better to just map it into
>
> 	C <- A ^ B
>
>> A point to bear in mind: to support chaining, it will be nec. to
>> conclude from
>>
>> isTrue(C)
>>
>> to
>>
>> C
>>
>> This appears to imply a Kripke-style possible world semantics.
>
> Why?  Even if one was to utilize isTrue, then why would isTrue just  
> be a truth
> predicate, which does not require a Kripke-style semantics.
>
> [ Some interesting issues having to do with retraction removed. ]
>
>> Frank
>
> Peter F. Patel-Schneider
Received on Wednesday, 8 March 2006 06:44:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:27 GMT