public abstract class FolFormula extends RelationalFormula
Constructor and Description |
---|
FolFormula() |
Modifier and Type | Method and Description |
---|---|
abstract FolFormula |
clone()
Creates a deep copy of this formula
|
abstract RelationalFormula |
collapseAssociativeFormulas()
This method collapses all associative operations appearing
in this term, e.g.
|
Conjunction |
combineWithAnd(Conjuctable f)
Returns a conjunction of this and the given formula.
|
Disjunction |
combineWithOr(Disjunctable f) |
RelationalFormula |
complement() |
java.util.Set<Variable> |
getQuantifierVariables() |
FolSignature |
getSignature()
Returns the signature of the language of this formula.
|
Probability |
getUniformProbability() |
abstract boolean |
isDnf()
Checks whether this formula is in disjunctive normal form.
|
abstract FolFormula |
substitute(Term<?> v,
Term<?> t)
Substitutes all occurrences of term "v" in this formula
by term "t" and returns the new formula.
|
FolFormula |
toDnf()
Makes a disjunctive normal form of this formula.
|
abstract FolFormula |
toNnf()
Makes the negation normal form of this formula.
|
allGroundInstances, allSubstitutions, containsTermsOfType, exchange, getAtoms, getFormula, getFunctors, getPredicateCls, getSatisfactionRatio, isGround, isWellFormed, substitute, toString
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
containsQuantifier, getUnboundVariables, isClosed, isClosed, isWellBound, isWellBound
equals, getPredicates, hashCode, isLiteral
getTerms, getTerms
public Conjunction combineWithAnd(Conjuctable f)
Conjuctable
combineWithAnd
in interface Conjuctable
combineWithAnd
in class RelationalFormula
f
- a formula to be combined with AND and this.public Disjunction combineWithOr(Disjunctable f)
combineWithOr
in interface Disjunctable
combineWithOr
in class RelationalFormula
f
- a formula to be combined with OR and this.public RelationalFormula complement()
complement
in interface Invertable
complement
in class RelationalFormula
public java.util.Set<Variable> getQuantifierVariables()
public FolFormula toDnf()
public abstract FolFormula toNnf()
public abstract RelationalFormula collapseAssociativeFormulas()
public Probability getUniformProbability()
getUniformProbability
in interface ProbabilityAware
getUniformProbability
in class RelationalFormula
public abstract boolean isDnf()
public abstract FolFormula substitute(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException
RelationalFormula
substitute
in interface ComplexLogicalFormula
substitute
in class RelationalFormula
v
- the term to be substituted.t
- the term to substitute.java.lang.IllegalArgumentException
- if "v" and "t" are of different sorts
(NOTE: this exception is only thrown when "v" actually appears in this
formula).public abstract FolFormula clone()
SimpleLogicalFormula
clone
in interface ComplexLogicalFormula
clone
in interface SimpleLogicalFormula
clone
in class RelationalFormula
public FolSignature getSignature()
Formula
getSignature
in interface Formula
getSignature
in class RelationalFormula