ubc.cs.JLog.Terms.Goals
Class jOrGoalWVars

java.lang.Object
  extended by ubc.cs.JLog.Foundation.jGoal
      extended by ubc.cs.JLog.Terms.Goals.jOrGoal
          extended by ubc.cs.JLog.Terms.Goals.jOrGoalWVars
All Implemented Interfaces:
iName, iNameArity

public class jOrGoalWVars
extends jOrGoal


Field Summary
protected  jVariable[] vars
           
 
Fields inherited from class ubc.cs.JLog.Terms.Goals.jOrGoal
end_goal, head_goal, or_predicate, pterm_number, STARTING_PREDICATE
 
Fields inherited from class ubc.cs.JLog.Foundation.jGoal
next
 
Constructor Summary
jOrGoalWVars(jOrPredicate op, jGoal g, jVariable[] v, jGoal end)
           
 
Method Summary
 boolean prove(iGoalStack goals, iGoalStack proved)
          Attempt to prove the goal represented by this jGoal.
 
Methods inherited from class ubc.cs.JLog.Terms.Goals.jOrGoal
getArity, getName, getNextPredicateTermNumber, getPredicateTermNumber, internal_restore, retry, toString
 
Methods inherited from class ubc.cs.JLog.Foundation.jGoal
internal_remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

vars

protected jVariable[] vars
Constructor Detail

jOrGoalWVars

public jOrGoalWVars(jOrPredicate op,
                    jGoal g,
                    jVariable[] v,
                    jGoal end)
Method Detail

prove

public boolean prove(iGoalStack goals,
                     iGoalStack proved)
Description copied from class: jGoal
Attempt to prove the goal represented by this jGoal. Goal must not be on either stack to prove (pop off goals stack before prove call). Goal must place itself on the appropriate stack before returning. proved stack if 'proved', goals stack otherwise. Since proved doesn't pop the stack we don't need a try/catch block. Must be called at least once before calling retry.

Overrides:
prove in class jOrGoal
Parameters:
goals - iGoalStack containing goals yet to be proved.
proved - iGoalStack containing evaluated goals (goals that may already be proved, or awaiting their child goals to be proved).
Returns:
boolean is true if this goal ended up on proved, false otherwise.