W3C home > Mailing lists > Public > public-rif-wg@w3.org > December 2008

Re: [test] disjunctive entailment without equality

From: Michael Kifer <kifer@cs.sunysb.edu>
Date: Sun, 30 Nov 2008 23:40:25 -0500
To: Chris Welty <cawelty@gmail.com>
Cc: Jos de Bruijn <debruijn@inf.unibz.it>, RIF WG <public-rif-wg@w3.org>
Message-ID: <20081130234025.0a9abb40@kiferserv>


On Sun, 30 Nov 2008 22:23:57 -0500
Chris Welty <cawelty@gmail.com> wrote:

> 
> Michael Kifer wrote:
> > 
> > On Sat, 29 Nov 2008 22:39:24 -0500
> > Chris Welty <cawelty@gmail.com> wrote:
> > 
> >>
> >> Thanks, Jos.
> >>
> >> This gets me wondering.  Clearly the converse of Jos' test case also holds,
> >> e.g. that:
> >>
> >> Document(
> >>   Prefix(ex http://example.com/example#)
> >>   Prefix(pred http://www.w3.org/2007/rif-builtin-predicate#)
> >>   Group(
> >>     ex:p(ex:a)
> >>     Forall ?x (q(?x) :- And (ex:p(?x) External(pred:isInteger(ex:a))))))
> >>
> >> |= (or q(ex:a) External(pred:isNotInteger(ex:a)))
> > 
> > Why is this outside the language?
> 
> By outside the language I mean that you cannot say (or q(ex:a) 
> External(pred:isNotInteger(ex:a))) in BLD, it is syntactically invalid.  The 
> whole point of Jos' test cases was being able to entail something that can't be 
> expressed in the language (in this case disjunction in the conclusion).

This is not outside of the language. It is a condition formula and a completely
kosher goal. Such goals are normal not only in 1-order logic, but also in
logic programming.

> > The problem here is that without
> > any kind of closed-world assumption or a unique name assumption the above leads
> > to a disjunction, which cannot be taken apart, unlike in logic programming.
> 
> The problem I'm talking about is that the language has entailments that fall 
> outside its expressivity.

It is outside of the expressivity only if we add negation as we did (through
the  back door).

> > So, with negative guards we are introducing negation through the back door, but
> > do not inject the standard antidotes to keep disjunction away.
> 
> I'm suggesting negative guards don't create a new problem here.  We already know 
> implication is negation + disjunction, so even without negative guards you can 
> write rules whose entailments are outside the language, including disjunction in 
> the conclusion.

No you cannot! If you have pure Horn clauses then disjunctive goals are NOT
outside of the expressivity of the language.


> So, why not just take the usual route in such cases and say that anything 
> outside the expressiveness of the language is not entailed (or not
> necessarily entailed, I guess).

See above.

michael
Received on Monday, 1 December 2008 04:41:06 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:33:59 GMT