ubc.cs.JLog.Terms.Goals
Class jOrGoal
java.lang.Object
ubc.cs.JLog.Foundation.jGoal
ubc.cs.JLog.Terms.Goals.jOrGoal
- All Implemented Interfaces:
- iName, iNameArity
- Direct Known Subclasses:
- jOrGoalWVars
public class jOrGoal
- extends jGoal
Fields inherited from class ubc.cs.JLog.Foundation.jGoal |
next |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
STARTING_PREDICATE
protected static final int STARTING_PREDICATE
- See Also:
- Constant Field Values
or_predicate
protected jOrPredicate or_predicate
head_goal
protected jGoal head_goal
end_goal
protected jGoal end_goal
pterm_number
protected int pterm_number
jOrGoal
public jOrGoal(jOrPredicate op,
jGoal g,
jGoal end)
getNextPredicateTermNumber
public final int getNextPredicateTermNumber()
getPredicateTermNumber
public final int getPredicateTermNumber()
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
.
- Specified by:
prove
in class jGoal
- 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.
retry
public boolean retry(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 retry (pop off proved stack before retry call).
Goal must place itself on the goal stack, and normally need not pop either stack.
Since retry doesn't pop the stack we don't need a try/catch block.
- Specified by:
retry
in class jGoal
- 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 the prover should attempt
a prove on this goal, false otherwise.
internal_restore
public final void internal_restore(iGoalStack goals)
- Description copied from class:
jGoal
- Combines
internal_remove
with a full restart and resoration of
any previous variable state. May be called by other goals, such as a
jCutGoal
. this is still located on proved stack.
- Overrides:
internal_restore
in class jGoal
- Parameters:
goals
- iGoalStack
containing goals yet to be proved.
getName
public java.lang.String getName()
- Description copied from interface:
iName
- Returns the name of this instance.
- Returns:
String
containing name of this instance.
getArity
public int getArity()
- Description copied from interface:
iNameArity
- Returns the arity of this instance.
- Returns:
int
whose value is the arity of this instance.
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object