Re: On production rules and phase I&II

From: Francois Bry <bry@ifi.lmu.de>
Subject: Re: On production rules and phase I&II
Date: Wed, 08 Mar 2006 14:56:29 +0100

> Peter F. Patel-Schneider wrote:
> > I don't understand which universe I've fallen into here.
> >
> > In my universe, production rule systems derived from OPS5.  
> >
> > In my universe, OPS5 allowed rules like
> > 	(p (parent ^parent <x> ^child <y>)
> > 	   (ancestor ^ancestor <y> ^descendant <z>)
> > 	   -->
> > 	   (make ancestor ^ancestor <x> ^descendant <z>))
> >
> > In my universe, this was a recursive rule.
> >
> > What is different in this universe?
> >   

[Edited to correct spelling and grammatical errors.]

> My understanding is that Hassan - rightly - pointed out that using a
> production rule like the above (and its evaluator), one can implement a
> recursive deduction rule stating that parents of ancestors are
> themselves ancestors.

So you are saying that the only difference is that OPS5 is an implementation of
a system that can mirror recursive deduction rules, like the deduction rule
	parent(?x,?y), ancestor(?y,?z) -> ancestor(?x,?z)
and that this difference turns a recursive rule into something else.

I do not agree.

> Thus, the situation is like implementing the evaluation of a recursive
> deduction rule using a while-block in an imperative programme: this
> programme is not recursive even though it implements something which is
> recursive.

Under this reasoning, no C++ functions would be recursive, because C++ does in
the end only implements the evaluation of recursive functions on physical
hardware that is inherently different from true recursive mathematical
hardware.

> Hassan, did I got your point?
> 
> Francois

peter

Received on Wednesday, 8 March 2006 14:12:48 UTC