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

> 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. 

Furthermore, in your example, ?F is just a variable whose quantification you
neglected to specify. 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.

I hate to break this news to you, but N3 with the notIncludes construct is
nonmonotonic.



	--michael  

Received on Thursday, 25 August 2005 15:05:45 UTC