ubc.cs.JLog.Builtins
Class jExists
java.lang.Object
ubc.cs.JLog.Foundation.jType
ubc.cs.JLog.Terms.jTerm
ubc.cs.JLog.Terms.iPredicate
ubc.cs.JLog.Terms.jBuiltinPredicate
ubc.cs.JLog.Terms.jBinaryBuiltinPredicate
ubc.cs.JLog.Builtins.jExists
- All Implemented Interfaces:
- iType, iUnifiable, iConsultable, iName, iNameArity, iTerm, iValue
public class jExists
- extends jBinaryBuiltinPredicate
Fields inherited from class ubc.cs.JLog.Foundation.jType |
type |
Fields inherited from interface ubc.cs.JLog.Foundation.iType |
TYPE_ARITHMETIC, TYPE_ATOM, TYPE_BUILTINPREDICATE, TYPE_COMMAND, TYPE_COMPARE, TYPE_COMPOUND, TYPE_CONS, TYPE_IF, TYPE_INTEGER, TYPE_LIST, TYPE_NULLLIST, TYPE_NUMERICCOMPARE, TYPE_OBJECT, TYPE_OPERATOR, TYPE_OR, TYPE_ORPREDICATE, TYPE_PREDICATE, TYPE_PREDICATETERMS, TYPE_REAL, TYPE_TYPE, TYPE_UNARYARITHMETIC, TYPE_UNARYOPERATOR, TYPE_UNDEFINED, TYPE_VARIABLE |
Methods inherited from class ubc.cs.JLog.Terms.jBinaryBuiltinPredicate |
compareArguments, consult, consultReset, copy, duplicate, equivalenceArguments, getArguments, getArity, getLHS, getRHS, isConsultNeeded, prove, registerUnboundVariables, registerVariables, unifyArguments |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
call_r
protected jCall call_r
jExists
public jExists(jTerm l,
jTerm r)
getName
public java.lang.String getName()
- Description copied from interface:
iName
- Returns the name of this instance.
- Specified by:
getName
in interface iName
- Specified by:
getName
in interface iTerm
- Overrides:
getName
in class jTerm
- Returns:
String
containing name of this instance.
enumerateVariables
public void enumerateVariables(jVariableVector v,
boolean all)
- Description copied from class:
jTerm
- Adds variables belonging to this term (or belonging to any sub-part
of this term) to the
jVariableVector
- Specified by:
enumerateVariables
in interface iTerm
- Overrides:
enumerateVariables
in class jBinaryBuiltinPredicate
- Parameters:
v
- The jVariabeVector
where variables are
added to. This parameter is used to as output to the
caller, not as input.all
- If true
, then all variables should register,
otherwise only add non-existentially qualified variables.
addGoals
public void addGoals(jGoal g,
jVariable[] vars,
iGoalStack goals)
- Description copied from class:
iPredicate
- Adds goal to prove this predicate onto goal stack. This version is called when
the original predicate must duplicate itself (or its arguments).
Add goals in the reverse order you want them evaluated.
- Overrides:
addGoals
in class jBinaryBuiltinPredicate
- Parameters:
g
- The super-goal jGoal
for the sub-goal that this
function will add.vars
- The vector of duplicate variables produced
from the previous call to registerVariables
.
Needed for call to duplicate
.goals
- The iGoalStack
to add the goal to.
addGoals
public void addGoals(jGoal g,
iGoalStack goals)
- Description copied from class:
iPredicate
- Adds goal to prove this predicate onto goal stack. This version is called when
the original predicate is already duplicated (usually as part of an argument for
another predicate). Add goals in the reverse order you want them evaluated.
- Overrides:
addGoals
in class jBinaryBuiltinPredicate
- Parameters:
g
- The super-goal jGoal
for the sub-goal that this
function will add.goals
- The iGoalStack
to add the goal to.
duplicate
public jBinaryBuiltinPredicate duplicate(jTerm l,
jTerm r)
- Specified by:
duplicate
in class jBinaryBuiltinPredicate
toString
public java.lang.String toString(boolean usename)
- Description copied from class:
jTerm
- Produces a string identifying this term, suitable for display to the console.
param usename determines whether to display variables by name or identity.
false
is the default for displaying the term,
true
for displaying this term in a user query.
- Specified by:
toString
in interface iTerm
- Overrides:
toString
in class jBinaryBuiltinPredicate
- Returns:
String
which is a textual representation of this
term.