Re: safety and external predicates

It seems to me that if we want to have a notion of safeness in Core, we 
would want something like "domain-safeness" as described in [2] (page 281).
Essentially, it ensures that there is no recursion involving variables 
that do not occur in user-defined predicates in the body.  This ensures 

So, it would not be possible to write:
p(x) :- p(y), External(add(y,1,x))
(which is the example Axel gave in the telephone conference today, and 
which leads to an infinite extension of P)

But it would be possible to write:
q(x) :- p(y), External(add(y,1,x))
because there is no recursive dependency between q and any of the body 

Best, Jos

Axel Polleres wrote:
> Two pointers here... the notion of strong safety in hex-programs [1,2] 
> and Topor's considerations on  safe database queries with arithmetics 
> [3] (cudos jos for the latter one)
> 1. R. Schindlauer. Answer-Set Programming for the Semantic Web. PhD 
> thesis, Vienna University of Technology, Dec. 2006.
> 2.  Thomas Eiter, Giovambattista Ianni, Roman Schindlauer, and Hans 
> Tompits. Effective Integration of Declarative Rules with External 
> Evaluations for Semantic Web Reasoning. In York Sure and John Domingue, 
> editors, Proceedings of the 3rd European Conference on Semantic Web 
> (ESWC 2006), Budva, Montenegro, number 4011 in Lecture Notes in Computer 
> Science (LNCS), pages 273-287. Springer, June 2006.
> 3. R. Topor. Safe database queries with arithmetic relations (1991)
> Proc. 14th Australian Computer Science Conf 

Jos de Bruijn  
No one who cannot rejoice in the discovery of
his own mistakes deserves to be called a
   - Donald Foster

Received on Tuesday, 12 August 2008 16:17:15 UTC