Article View: comp.lang.prolog
Article #3057mine embarrassingly simple problem
From: Shahaf Moshe
Date: Thu, 10 Mar 1988 11:15
Date: Thu, 10 Mar 1988 11:15
45 lines
2292 bytes
2292 bytes
Hello,
Can someone help me in the following: In translation from WATERLOO
to Quintus code I need a !/1 predicate which does :
!(P) - A search through the
ancestors exactly as for ancestor and retry. If this
search fails then the predicate fails. If the search
succeeds then certain available choices are eliminated
from an existing portion of the proof. All choice
points are removed in the part of the proof from the
point of selection of the given ancestor literal to the
current point in the proof. Thus a call of the form
/(*) has exactly the same effect as the simple nullary
/ call. Consider the following example:
a:-b,c,d.
b:-e.
c:-f,g.
e.
f.
g:-/(c),h.
:-a.
...
The implication tree has the following form when the
unary cut is called:
goal
|
a
/ | \
/ | \
/ | \
b c d
/ | \
/ | \
e f g
x x | \
| \
/(c) h
All choice points from the selection of c:-f,g onward
are eliminated. Thus if h fails an alternate proof for
e will be attempted (and the subproof of c will be
deleted).
thanks a lot.
shahaf%taux01@nsc.COM
Technical Details
Message-ID:
<500@taux01.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!pyramid!nsc!taux01!shahafShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!pyramid!nsc!taux01!shahaf From: shahaf@taux01.UUCP (Shahaf Moshe) Newsgroups: comp.lang.prolog Subject: mine embarrassingly simple problem Message-ID: <500@taux01.UUCP> Date: 10 Mar 88 11:15:07 GMT Reply-To: shahaf%taux01@nsc.UUCP (Shahaf Moshe) Organization: National Semiconductor (Israel) Ltd. Lines: 43