- From: Peter F. Patel-Schneider <pfps@inf.unibz.it>
- Date: Wed, 08 Mar 2006 09:12:28 -0500 (EST)
- To: bry@ifi.lmu.de
- Cc: public-rif-wg@w3.org
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