logic
Class Negation

java.lang.Object
  extended bylogic.SymbolicObject
      extended bylogic.Sentence
          extended bylogic.Negation
All Implemented Interfaces:
java.lang.Cloneable

public class Negation
extends Sentence


Constructor Summary
Negation(Sentence s)
           
 
Method Summary
 java.lang.Object clone()
           
 int compareTo(java.lang.Object o)
          Compare two SymbolicObjects.
 Sentence eliminateExists()
           
 Sentence eliminateForall(api.ProblemInstance p)
           
 boolean equals(java.lang.Object other)
           
 Sentence flatten()
           
 SymbolicObject getFirst()
           
 Term getFirstTerm()
           
 SList getList()
           
 java.lang.String getName()
           
 SymbolicObject getRest()
           
protected  Sentence getSentence()
           
 int hashCode()
           
 boolean isNegation()
           
 boolean isNegationOf(Sentence s)
           
 Sentence negate()
          Return the negation of this sentence by applying deMorgan's law.
 TermList obtainVariables()
          returns a * of Terms that are Variables.
 Sentence reconcileTypes(api.Domain d, api.ProblemInstance p)
           
 Sentence renameVariables()
           
 SymbolicObject substitute(Substitution sub)
           
 SymbolicObject substituteVariable(Variable oldVar, Term newVar)
           
 SymbolicObject symbolicSignature()
           
 java.lang.String toString()
           
 Substitution unify(SymbolicObject t, Substitution s)
          Given two terms, return their most general unifier, or null if they don't unify.
 
Methods inherited from class logic.Sentence
containsDisjunction, containsTerm, getSList, infoString, initializeOccurrences, isAdmissibleOutcome, isAtomic, isCompound, isEquals, isNotEquals, isSymbol, relativize, symbolicMatch, toSentence
 
Methods inherited from class logic.SymbolicObject
copyData, debugString, geq, getOccurrences, getProbability, getType, getTypeName, gt, isTyped, leq, lt, setOccurrences, setProbability, setType
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Negation

public Negation(Sentence s)
Method Detail

clone

public java.lang.Object clone()
Overrides:
clone in class Sentence

eliminateExists

public Sentence eliminateExists()
Specified by:
eliminateExists in class Sentence

eliminateForall

public Sentence eliminateForall(api.ProblemInstance p)
Specified by:
eliminateForall in class Sentence

flatten

public Sentence flatten()
Specified by:
flatten in class Sentence

reconcileTypes

public Sentence reconcileTypes(api.Domain d,
                               api.ProblemInstance p)
Specified by:
reconcileTypes in class Sentence

hashCode

public int hashCode()

isNegationOf

public boolean isNegationOf(Sentence s)
Overrides:
isNegationOf in class Sentence

isNegation

public boolean isNegation()
Overrides:
isNegation in class Sentence

negate

public Sentence negate()
Description copied from class: Sentence
Return the negation of this sentence by applying deMorgan's law.

Overrides:
negate in class Sentence

getSentence

protected Sentence getSentence()

renameVariables

public Sentence renameVariables()
Specified by:
renameVariables in class Sentence

getName

public java.lang.String getName()
Specified by:
getName in class SymbolicObject

getFirst

public SymbolicObject getFirst()
Specified by:
getFirst in class SymbolicObject

getFirstTerm

public Term getFirstTerm()
Specified by:
getFirstTerm in class SymbolicObject

getRest

public SymbolicObject getRest()
Specified by:
getRest in class SymbolicObject

getList

public SList getList()
Specified by:
getList in class Sentence

toString

public java.lang.String toString()
Specified by:
toString in class SymbolicObject

symbolicSignature

public SymbolicObject symbolicSignature()
Specified by:
symbolicSignature in class SymbolicObject

compareTo

public int compareTo(java.lang.Object o)
Description copied from class: SymbolicObject
Compare two SymbolicObjects. The result is zero if the objects are equal according to the equals() operator. Otherwise, the result is a negative integer if this object's name lexicographically precedes the other's name. The result is a positive integer if this object's name lexicographically follows the other's name.

Specified by:
compareTo in class SymbolicObject

equals

public boolean equals(java.lang.Object other)
Specified by:
equals in class SymbolicObject

obtainVariables

public TermList obtainVariables()
Description copied from class: SymbolicObject
returns a * of Terms that are Variables. If this Term isn't a Variable, an empty * is returned.

Specified by:
obtainVariables in class SymbolicObject

substituteVariable

public SymbolicObject substituteVariable(Variable oldVar,
                                         Term newVar)
Specified by:
substituteVariable in class SymbolicObject

substitute

public SymbolicObject substitute(Substitution sub)
Specified by:
substitute in class SymbolicObject

unify

public Substitution unify(SymbolicObject t,
                          Substitution s)
Description copied from class: SymbolicObject
Given two terms, return their most general unifier, or null if they don't unify. may be mutated.

Specified by:
unify in class SymbolicObject