Re: adding existentials and conjunctions to BLD consequents

> I'm afraid that adding existentials to rule heads pushes the language 
> outside of Horn.  In fact, we would nearly have full first-order logic 

How so?   You can just get rid of it by Skolemizing it.

This is a typical N3 Rule, saying that for every two things with a
grandparent relation, there exists a third thing connected to those
things by a parent relation:

   { ?x :grandparent ?y. }
   # read "[ ... ]" as "something which has ..."
   { ?x :parent [ :parent ?y ] }.

I would turn that into this BLD:

   ?x[parent->sk1(?x,?y)] :- ?x[grandparent->?y]

   sk1(?x,?y)[parent->?z] :- ?x[grandparent->?y]

The results to all positive ground queries on these two rule bases would
be the same, wouldn't they?

    -- Sandro

Received on Friday, 23 May 2008 14:19:39 UTC