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

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  

Received on Friday, 26 August 2005 18:10:24 UTC