soundness for RIF

I was asked to clarify my use of the term "sound" in the context of RIF.

This came up because I proposed a requirement "Sound reasoning with
unknown dialects", or more fully, "RIF Core must allow sound reasoning
with unknown dialects." [1]

I think this is one of the main requirements which will constraint the
extensibility design.  The application context I'm imagining is use case
8, a query-answering process using deduction rules (database views)
coming from a variety of sources.  My requirement here is that I be able
to incorporate rulesets which include unknown extensions, and to know
that even in the worst case I will not get wrong answers.

In other word, I might incorporate a ruleset that includes this rule:

    phoneNumberOfAssistant(Boss,Number) :-
        assistant(Boss,Assistant),
        phoneNumber(Assistant,Number).

and also 

    assistant(Boss,Assistant),
    phoneNumber(Assistant,Number) :-
       phoneNumberOfAssistant(Boss,Number).

The first rule is a normal Horn clause.  The second is not.  I'm not
sure what it is, really.  :-) And I don't want my program to have to
know either.  I want it to be able to safely include the ruleset
containing both these rules and make inferences which will be sound,
even though it has no idea what the second rule is supposed to mean.  It
will certainly be incomplete because of not knowing what the second rule
means, if it wasn't incomplete already.

I believe this use of the word "sound" is normal and correct for logic.
I'm asking that the conclusions of an inference procedure follow
logically from its premise.  The twist here is that the premise is
written in RIF and may have parts which are opaque extensions as far as
the inference procedure is concerned.

Please note also that I understand many people invision using RIF only
through translators, but I don't think that affects this discussion at
all.  For my purposes, the Translator+InferenceEngine can be thought of
as an InferenceEngine which operates on RIF.

Also, I understand that I'm only thinking about deduction rules here,
but I think this requirement has an extension which covers production
rules as well, I'm just not as clear about how to state it.

There are negation/close-world situations in which this requirement may
not be attainable.   I'm concerned about that.   Perhaps these cases can
be somehow identified, so that users can be warner or automated
processes can avoid the unsound-in-this-situation constructs.

Does that make sense?   

Is this a requirement you would support?

    -- Sandro

(I believe this e-mail addresses action items 6 and 7)

[1] http://www.w3.org/2005/rules/wg/wiki/Sound_reasoning_with_unknown_dialects

Received on Monday, 8 May 2006 21:25:17 UTC