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

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."
>>>>>> 
http://lists.w3.org/Archives/Public/public-rule-workshop-discuss/2005Aug/0029.html
>>>>>> 
>>>>>> 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:
> 
http://lists.w3.org/Archives/Public/public-rule-workshop-discuss/2005Aug/0082.html
>
> 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.


Michael,

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