LBJ2.infer
Class FirstOrderNegation

java.lang.Object
  extended by LBJ2.infer.Constraint
      extended by LBJ2.infer.FirstOrderConstraint
          extended by LBJ2.infer.FirstOrderNegation

public class FirstOrderNegation
extends FirstOrderConstraint

Represents the negation operator applied to a first order constraint.


Field Summary
protected  FirstOrderConstraint constraint
          The constraint that the negation is applied to.
 
Constructor Summary
FirstOrderNegation(FirstOrderConstraint c)
          Initializing constructor.
 
Method Summary
 void consolidateVariables(java.util.AbstractMap m)
          Replaces all unquantified variables with the unique copy stored as a value of the given map; also instantiates all quantified variables and stores them in the given map.
 boolean equals(java.lang.Object o)
          Two FirstOrderNegations are equivalent when their constraints are equivalent.
 boolean evaluate()
          Determines whether the constraint is satisfied.
 Constraint[] getChildren()
          Returns the children of this constraint in an array.
 int hashCode()
          The hash code of a FirstOrderNegation is the hash code of its child constraint plus 1.
 PropositionalConstraint propositionalize()
          Transforms this first order constraint into a propositional constraint.
 void runVisit(Inference infer)
          Calls the appropriate visit(·) method of the given Inference for this Constraint, as per the visitor pattern.
 void setQuantificationVariables(java.util.Vector o)
          This method sets the given quantification variables to the given object references and evaluates the expressions involving those variables in this constraint's FirstOrderEquality children.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

constraint

protected FirstOrderConstraint constraint
The constraint that the negation is applied to.

Constructor Detail

FirstOrderNegation

public FirstOrderNegation(FirstOrderConstraint c)
Initializing constructor.

Parameters:
c - The constraint to negate.
Method Detail

consolidateVariables

public void consolidateVariables(java.util.AbstractMap m)
Replaces all unquantified variables with the unique copy stored as a value of the given map; also instantiates all quantified variables and stores them in the given map.

Specified by:
consolidateVariables in class Constraint
Parameters:
m - The map in which to find unique copies of the variables.

setQuantificationVariables

public void setQuantificationVariables(java.util.Vector o)
This method sets the given quantification variables to the given object references and evaluates the expressions involving those variables in this constraint's FirstOrderEquality children.

Specified by:
setQuantificationVariables in class FirstOrderConstraint
Parameters:
o - The new object references for the enclosing quantification variables, in order of nesting.

getChildren

public Constraint[] getChildren()
Returns the children of this constraint in an array.

Specified by:
getChildren in class Constraint
Returns:
The children of this constraint in an array.

evaluate

public boolean evaluate()
Determines whether the constraint is satisfied.

Specified by:
evaluate in class Constraint

propositionalize

public PropositionalConstraint propositionalize()
Transforms this first order constraint into a propositional constraint.

Specified by:
propositionalize in class FirstOrderConstraint
Returns:
The propositionalized constraint.

hashCode

public int hashCode()
The hash code of a FirstOrderNegation is the hash code of its child constraint plus 1.

Overrides:
hashCode in class java.lang.Object
Returns:
The hash code for this FirstOrderNegation.

equals

public boolean equals(java.lang.Object o)
Two FirstOrderNegations are equivalent when their constraints are equivalent.

Overrides:
equals in class java.lang.Object
Returns:
true iff the argument is a FirstOrderNegation of the same constraint.

runVisit

public void runVisit(Inference infer)
Calls the appropriate visit(·) method of the given Inference for this Constraint, as per the visitor pattern.

Specified by:
runVisit in class Constraint
Parameters:
infer - The inference visiting this constraint.