# 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 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:07:51 UTC