evaluable predicates, general definition

Evaluable predicates:

The most general definition of external predicates (built-ins), I know 
of (in an attempt to write down the definition of Eiter et al. [1] in a 
RIF suitable way):

An evaluable predicate &pred(X_1,....,X_n) is  assigned with one or more 
binding patterns, where a binding pattern is a vector {in,out}^n. 
Intuitively, an evaluable atom provides a way for deciding the truth 
value of an output tuple depending on the extension of a set of input 
predicates and terms. Note that this means that evaluable predicates, 
unlike usual definitions of built-ins in logic programming, can not only 
take constant parameters but also (extensions of) predicates as input. 
inputs can not only be terms, but also predicate names (in which case 
the *extension* of the respective predicate is the input.) External 
predicates have a fixed interpretation assigned.  The distinction 
between input and output terms is made in order to guarantee that 
whenever all input values of one of the given binding patterns are bound 
to concrete values, the fixed interpretation only allows a finite number 
of bindings for the output values, which can be computed by an external 
evaluation oracle.


1. T. Eiter, G. Ianni, R. Schindlauer, H. Tompits. A Uniform Integration 
of Higher-Order Rea-
soning and External Evaluations in Answer Set Programming. In 
International Joint Con-
ference on Artificial Intelligence (IJCAI) 2005, pp. 90–96, Edinburgh, 
UK, Aug. 2005.


-- 
Dr. Axel Polleres
email: axel@polleres.net  url: http://www.polleres.net/

Received on Tuesday, 6 November 2007 23:16:14 UTC