W3C home > Mailing lists > Public > public-rule-workshop-discuss@w3.org > August 2005

Re: SNAF, NAF, and monotonicity [was: Comments on * DRAFT * Rules...]

From: <jos.deroo@agfa.com>
Date: Fri, 26 Aug 2005 21:06:48 +0200
To: kifer@cs.sunysb.edu
Cc: Dan Connolly <connolly@w3.org>, public-rule-workshop-discuss@w3.org, public-rule-workshop-discuss-request@w3.org
Message-ID: <OF8D9C18AD.C8E51A15-ONC1257069.0067DE87-C1257069.0068F6D7@agfa.com>

Michael Kifer wrote:
> jos.deroo@agfa.com wrote:
>>>>> Michael Kifer wrote:
>>>>> Dan Connolly wrote:
>>>>>> On Aug 24, 2005, at 8:11 PM, Michael Kifer wrote:
>>>>>>> [...]
>>>>>>> No, you got me wrong. I do believe that nonmonotonicity is
>>>>>>> important, but you already have it in the form of SNAF.
>>>>>> I'm having trouble understanding that. I see it shows up in
>>>>>> several of your recent messages, e.g.
>>>>>> "SNAF is nonmonotonic."
>>>>>> My understanding is that SNAF is monotonic.
>>>>>> Earlier[1] we discussed this example rule...
>>>>>> { :car.auto:specification log:notIncludes {:car auto:color []}}
>>>>>>      => {:car auto:color auto:black}.
>>>>>> That rule is monotonic; if the antecedent is true, the
>>>>>> consequent remains true regardless of how many other
>>>>>> things are also true.
>>>>> Hi Dan,
>>>>> Welcome to the discussion! Yes, it is very important to
>>>>> get to the bottom of it so that everybody will start
>>>>> speaking the same language.
>>>>> No, the above rule is nonmonotonic. If you add a color
>>>>> specification to that car then :car.auto:specification
>>>>> will now include a color specification and log:notIncludes
>>>>> will become false. Therefore 
>>>>>    :car auto:color auto:black
>>>>> will no longer be derived.
>>>> I'm aware of following sentence from
>>>> http://www.w3.org/2000/10/swap/doc/Reach
>>>> [[
>>>> Also, if we start to just loosely talk about defaults in
>>>> the sense of "if you don't already know a color", then
>>>> different agents will end up drawing different conclusions
>>>> from the same data, which is not a good foundation for a
>>>> scalable web.
>>>> ]]
>>>> and believe that
>>>> <uri-of-document> log:semantics ?F.
>>>> ?F log:notIncludes {set-of-triples}.
>>>> is a robust approach and is monotonic
>>>> (you cannot add things to ?F)
>>> Jos,
>>> Monotonicity or nonmonotonicity is a property of a logical
>>> language, not of a particular set of formulas. 
>> Okay
>>> Furthermore, in your example, ?F is just a variable whose
>>> quantification you neglected to specify.
>> Well, I should have said that the triples
>>   <uri-of-document> log:semantics ?F.
>>   ?F log:notIncludes {set-of-triples}.
>> were in the premise of a N3 rule and then ?F is a
>> universally quantified variable with the scope of
>> that rule.
> OK. You wrote them as if they were facts, so I was confused.
>>> A proper thing to do here would be to write something like:
>>> <uri-of-document> log:semantics t.
>>> t log:notIncludes {set-of-triples}.
>>> where t is a term that represents (reifies) the set of
>>> formulas that are encoded in uri-of-document. Now, t is
>>> a term, not a formula, so your statement about "adding
>>> things to ?F" is irrelevant as far as monotonicity
>>> of the language is concerned.
>> Well, this is indeed where we seem to have a disconnect..
>> I meant that for the set triples represented by ?F (and
>> which are real triples in my machine) there is no way to
>> add triples to that set; you can of course add triples to
>> the document at <uri-of-document> on the web but then,
>> formula A in your (**) has a different interpretation.
> No, this is where you get confused. See my earlier message
> adding to Dieter's tutorial on nonmonotonicity:
> The set of formulas A stays the same. The formulas that would
> be added to the document at <uri-of-document> form the set B.
> So, initially, "the document at <uri-of-document>" consists
> of the set A, and you get one set of inferences from there.
> Then "the document at <uri-of-document>" is changed to
> consist of the set of formulas A union B, and now you get
> a different set of inferences.
> I went again through Dan's example in the above message and
> explained once more why SNAF is nonmonotonic. Your query
> ?- <uri-of-document> log:semantics ?F
>    and
>    ?F log:notIncludes {set-of-triples}.
> is handled exactly the same (actually simpler) than Dan's car example.


I didn't speak about a query :)
Above triples are the premis of an N3 rule

so A is for instance

{ <uri-of-document> log:semantics ?F.
  ?F log:notIncludes { sky color blue } }
  => { thisTest a Pass }.

and <uri-of-document> has for instance following triple

fred hairColor red.

then A |= thisTest a Pass.

Whatever B triples we add to A doesn't change the entailment.

Now when we add the triple

sky color blue.

to <uri-of-document> so that it now contains 2 triples

fred hairColor red.
sky color blue.

then we are not talking about A union B but about
A with a different interpretation/model.

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

PS I now also understand that SNAF in non-monotonic
Received on Friday, 26 August 2005 19:07:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 19:48:34 UTC