Help: Multiple Proof Trees



Let's take this small program as an example:

:- op(500, xfy, <==).

prove(true, true).
prove( (Goal1, Goal2), (Proof1, Proof2) ) :- prove(Goal1, Proof1),
prove(Goal2, Proof2).
prove( Goal, Goal <== Proof) :- clause(Goal, Body), prove(Body, Proof).

a :- b,c.
a :- e.
b.
c.
e.



The goal prove(a, Proof) succeeds for the first time, but it gives
errors on backtracking. Any suggestions on obtaining all the proof
trees for a specified goal? Thanks in advance!

.



Relevant Pages

  • Strange fopen error
    ... First time I open the file with fopen, it succeeds. ... file, it fails. ... Here's the relevant code fragment: ...
    (comp.sys.mac.programmer.help)
  • Re: Anonymous
    ... Usenet is useless without a killfile these days, and the first time you ... Those trees you picked---they're the ones that agree with you. ...
    (uk.misc)
  • Re: [git patches] 2.6.x net driver updates
    ... >> I'm hoping my earlier pulls on your trees haven't resulted in these kinds ... and that this was the first time you did a merge ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)
  • Re: Can someone splain why this regex wont work both ways?
    ... the expression than the first brackets (which is why it's not a syntax ... you just have to make sure it gets set first. ... The first time through the +, $1 is undef so the \1c part fails; ... but the b part succeeds so $1 gets set. ...
    (comp.lang.perl.misc)
  • Dogwood
    ... I have been having trouble for the first time with my pink Dogwood tree. ... where it gets full afternoon sun, from about noon to 5-6, then shade. ... from the bigger trees, which will cause better draining soil. ...
    (rec.gardens)