Re: evaluable predicates, general definition

> 
> Michael Kifer wrote:
> > Model theory of builtin predicates is not a problem. Modes (binding
> > patterns) are extra-logical. We have to decide what do about them in terms
> > of our recommendation (e.g., issue an error and abort).
> 
> Do you think the definition of binding patterns below works?

What do you mean by "works"? I was talking about a model-theory.  I did not
find a model-theoretic definition (for binding patterns) in what you wrote
below.

> BTW: One thing which is non-standard in the Eiter et al. definition is 
> that an the extension of a predicate can be input.
> 
> > Builtin functions present a bigger challenge. They can also have fixed
> > interpretation as functions, but builtin functions are partial, so they
> > require special treatment in the model theory, and I am not sure if this
> > complication is worth the trouble.
> 
> Would an extra "error" constant value solve that problem?

Yes. This is what I called a "complication". Once you have this constant,
you need to explain what would be the truth value of things like
p(abc,error) and Not p(abc,error), where p/2 is a non-builtin predicate.
This would require to introduce a multivalued logic already into BLD (since
neither p(abc,error) nor Not p(abc,error) should be considered as true).
I do not think we should do it.

	--michael  


> Axel
> 
> > 	--michael  
> > 
> >> 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/
> >>
> >>
> >>
> >>
> >>
> > 
> > 
> 
> 
> -- 
> Dr. Axel Polleres
> email: axel@polleres.net  url: http://www.polleres.net/
> 
> 
> 
> 
> 

Received on Thursday, 8 November 2007 22:22:16 UTC