Re: [Core][PRD] Definition of safeness

Dave Reynolds wrote:
> Sandro Hawke wrote:
>> I have an naive question about our effort to define of safeness.
>>
>> We say, "Intuitively, safeness of rules guarantees that when performing
>> reasoning in a forward-chaining manner, it is possible to find bindings
>> for all the variables in the rule so that the condition can be
>> evaluated. "
>>
>> Is there any variation among PR systems, where there are rules for which
>> some systems can find such bindings and others cannot?  If not, is it
>> likely PR systems will emerge which will differ from the crowd about
>> which rules are safe?  Since I haven't heard anyone argue about our
>> definition of safeness in these terms (eg "this is safe for clips but
>> not jess"), I'm guessing the answer to both is No.
>>
>> In that case, can't our single, normative definition one sentence, like:
>> "A rule is safe if it is possible to find bindings for all the variables
>> in the rule such that the condition can be evaluated."  That should
>> probably be expanded a little (including explaining binding patterns for
>> externals), but I'm not seeing why we need to standardize what amount to
>> an algorithm for determining this case.  By all means, we could provide
>> one or more helpful, non-normative guides to how to determine if
>> bindings are findable, but if there's no actual disagreement likely
>> among implementors, I don't see why we're trying to standardize it.
> 
> Our definition has to be useful for any RIF Core producer/consumer not 
> just PR systems. A RIF implementer working with, say, a backchaining 
> engine would have a different notion of what would be safe for their 
> execution strategy and wouldn't necessarily be familiar with PR systems 
> and the associated constraints on bindings. We are requiring them to 
> only produce safe rules even though their own rule language does care. 
                                                                    ^ not

> Since we are requiring this conformance check as part of the standard 
> don't we have to define it in terms which would allow such people to 
> implement the check without having to go and learn about the other rule 
> languages?
> 
> Dave
> 

Received on Tuesday, 16 June 2009 19:33:03 UTC