Re: Rules WG -- draft charter -- NAF

   [Dan Connolly]
   I've found cwm's log:includes and log:notIncludes mechanisms
     http://www.w3.org/2000/10/swap/doc/Reach
   useful for building a number of applications. I've tried
   to figure out what it corresponds do in other systems, but
   I'm not having much luck. It can't really be all that
   novel, can it?

Maybe other people thought about it, got nervous, and backed off!

It's hard to give a precise semantics to log:includes because you're
using the embedded formula in a twilight-zone way:

Here's one of your examples:

  this log:forAll :x.
  {:x :homePage log:includes { :x a :Vegetarian }}
  => { :x a :Vegetarian}.

The variable :x is quantified over objects, but the intended meaning
of {A log:includes B} appears to be that B is found as an element of
the document A.  If that means that the formula B literally occurs as
a triple in A, then we have to explain how to build a formula from an
object and a formula with a variable to be bound to that object.

I'm guessing, from the context, that the "semantic :homepage" of a
person is the assertion (a big conjunction, presumably) obtained by
parsing his or her webpage.  So the rule is actually not about
triples, but instead means:

   Forall :x
     If the assertion made by :x's home page 
         entails that :x is a vegetarian
     then :x is a vegetarian

How is "entails" defined?  I believe there are problems with allowing
a predicate like this in a language (did Montagu write some papers on
this?), but even putting the possibility of paradox aside, don't we
have the problem that entailment includes the use of rules just like
this one?  We can't define entailment without a big fixed-point
construction of the sort beloved of nonmonotonic logicians.  Does the
CWM inference engine attempt to embody that construction?

Of course we get apparent weirdness such as 

Fred's SW homepage:
            {Sally :homePage log:notIncludes {Fred a :Vegetarian}}
	    => (Fred a :Carnetarian}

Sally's SW homepage:
	    {Fred :homePage log:includes {Fred a :Carnetarian}}
	    => {Fred a :Vegetarian}

where :Vegetarian and :Carnetarian are disjoint.  But we can just say
the two pages have multiple fixed points, and therefore imply nothing
about what Fred eats. 

                                             -- Drew


-- 
                                             -- Drew McDermott
                                                Yale University CS Dept.

Received on Monday, 24 November 2003 17:27:17 UTC