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

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

From: Dan Connolly <connolly@w3.org>
Date: Fri, 26 Aug 2005 17:51:31 -0500
To: Michael Kifer <kifer@cs.sunysb.edu>
Cc: doug.foxvog@deri.org, public-rule-workshop-discuss@w3.org
Message-Id: <1125096691.16011.157.camel@dirk>

On Fri, 2005-08-26 at 12:57 -0400, Michael Kifer wrote:
> > If @ is merely a namespace identifier, it wouldn't be a reference to a
> > set, merely a method of abbreviation.  It seems unlikely to me that N3
> > fixes in stone any namespace as soon as an "@" sign is used to indicate
> > it.  Again, with the caveat that i don't know N3, it seems that Michael
> > is correct, and adding the formula B does not "change what @allAboutCars
> > denotes".
> No, I think Dan and I mean the same thing,

Well, up to a point. But evidently F-Logic and N3 work differently
in this regard.

>  but uses the words "set" and
> "bunch" informally. I think Dan was confused as to what "inference" means
> in nonmonotonic logics (judging by his remark that I was using two different
> interpretations for the set of formulas A).

I was confused about how F-Logic works. I'm still studying the @
construct in F-Logic, but it doesn't seem to be analagous
to log:includes/log:notIncludes after all.

Leaving N3 aside, perhaps I can show what I mean by
monotonic SNAF using KIF, i.e. ordinary first-order
logic plus quoting.

Consider a relation on (quoted) formulas:

 (simply-entails F1 F2)

where F1 and F2 are (quoted) KIF expressions that are
analagous to RDF graphs/formulas, i.e. they
look like

 (exists (b1 b2 b3 ...)
   (and (holds p1 s1 o1)
        (holds p2 s1 o2)
        ) )

or in the case of no existentials, just
   (and (holds p1 s1 o1)
        (holds p2 s1 o2)

or in the case of just one conjunct, just
  (holds p1 s1 o1)

and simply-entails is defined as per section 7.1 Simple Entailment Rules
of RDF Semantics

That is the formula F2 can be obtained from F1 by some combination
of erasure...

(simply-entails '(and (holds price book1 10) (holds title book1 "abc"))
        '(holds price book1 10) )

and existential introduction:

(simply-entails '(holds location fred texas)
                '(exists (?somewhere) (holds location fred ?somewhere))

and variable renaming, and re-ordering the conjuncts in an and.

I'm glossing over the fact that "location" isn't quite a URI
for clarity. Strictly speaking, it would be something
like http\:\/\/example\/vocab\#location .

This simply-entails relation is clearly an ordinary computable relation,
just like string matching or testing whether one number is a factor
of another. (It's called "graph match" in any number of RDF

Then consider simply-entails-c , the complement of simply-entails.
It's also computable: compute simply-entails and negate it.

Also, let (lookup SYMBOL) be some function that takes a (quoted)
symbol and returns some formula expression.

Now I can write my rule about car color defaults as:

  (=> (simply-entails-c (lookup 'car-specification)
            '(exists (?v) (holds auto-color car ?v)) )
      (holds auto-color car black) )

The (lookup 'car-specification) term denotes some expression
in each interpretation; either that expression does simply-entail
  '(exists (?v) (holds auto-color car ?v))
or it doesn't. To "add another statement" to the formula
expression we get when we look up 'car-specification is
to consider a different interpretation of the lookup function.

Let A be
 (simply-entails-c (lookup 'car-specification)
            '(exists (?v) (holds auto-color car ?v))
and F be
 (holds auto-color car black)

Then clearly we have
  Forall B  A |= F implies A union B |= F  


Dan Connolly, W3C http://www.w3.org/People/Connolly/
D3C2 887B 0F92 6005 C541  0875 0F91 96DE 6E52 C29E
Received on Friday, 26 August 2005 22:51:37 UTC

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