Class ExclusiveDisjunction
- java.lang.Object
-
- org.tweetyproject.logics.commons.syntax.RelationalFormula
-
- org.tweetyproject.logics.fol.syntax.FolFormula
-
- org.tweetyproject.logics.fol.syntax.AssociativeFolFormula
-
- org.tweetyproject.logics.fol.syntax.ExclusiveDisjunction
-
- All Implemented Interfaces:
java.lang.Iterable<RelationalFormula>,java.util.Collection<RelationalFormula>,java.util.List<RelationalFormula>,Formula,AssociativeFormulaSupport.AssociativeSupportBridge,AssociativeFormula<RelationalFormula>,ClassicalFormula,ComplexLogicalFormula,Conjunctable,Disjunctable,Invertable,LogicStructure,ProbabilityAware,QuantifiedFormula,SimpleLogicalFormula
public class ExclusiveDisjunction extends AssociativeFolFormula
The exclusive disjunction (XOR) in first-order logic.- Author:
- Anna Gessler
-
-
Constructor Summary
Constructors Constructor Description ExclusiveDisjunction()Creates a new (empty) exclusive disjunction.ExclusiveDisjunction(java.util.Collection<? extends RelationalFormula> formulas)Creates a new exclusive disjunction with the given inner formulas.ExclusiveDisjunction(RelationalFormula first, RelationalFormula second)Creates a new exclusive disjunction with the two given formulae
-
Method Summary
Modifier and Type Method Description ExclusiveDisjunctionclone()Creates a deep copy of this formulaRelationalFormulacollapseAssociativeFormulas()This method collapses all associative operations appearing in this term, e.g.ExclusiveDisjunctioncreateEmptyFormula()java.lang.StringgetEmptySymbol()java.lang.StringgetOperatorSymbol()booleanisDnf()Checks whether this formula is in disjunctive normal form.FolFormulatoNnf()Makes the negation normal form of this formula.-
Methods inherited from class org.tweetyproject.logics.fol.syntax.AssociativeFolFormula
add, add, add, addAll, addAll, clear, contains, containsAll, containsQuantifier, createEmptySignature, equals, get, getAtoms, getFormulas, getFormulas, getFunctors, getPredicates, getQuantifierVariables, getTerms, getTerms, getUnboundVariables, hashCode, indexOf, isClosed, isClosed, isEmpty, isLiteral, isWellBound, isWellBound, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, substitute, substitute, toArray, toArray, toString
-
Methods inherited from class org.tweetyproject.logics.fol.syntax.FolFormula
combineWithAnd, combineWithOr, complement, getSignature, getUniformProbability, toDnf
-
Methods inherited from class org.tweetyproject.logics.commons.syntax.RelationalFormula
allGroundInstances, allSubstitutions, containsTermsOfType, exchange, getFormula, getPredicateCls, getSatisfactionRatio, isGround, isWellFormed
-
Methods inherited from interface org.tweetyproject.commons.Formula
getSignature
-
Methods inherited from interface org.tweetyproject.logics.commons.syntax.interfaces.SimpleLogicalFormula
getPredicateCls
-
-
-
-
Constructor Detail
-
ExclusiveDisjunction
public ExclusiveDisjunction(java.util.Collection<? extends RelationalFormula> formulas)
Creates a new exclusive disjunction with the given inner formulas.- Parameters:
formulas- a collection of formulas.
-
ExclusiveDisjunction
public ExclusiveDisjunction()
Creates a new (empty) exclusive disjunction.
-
ExclusiveDisjunction
public ExclusiveDisjunction(RelationalFormula first, RelationalFormula second)
Creates a new exclusive disjunction with the two given formulae- Parameters:
first- a relational formula.second- a relational formula.
-
-
Method Detail
-
isDnf
public boolean isDnf()
Description copied from class:FolFormulaChecks whether this formula is in disjunctive normal form.- Specified by:
isDnfin classFolFormula- Returns:
- "true" iff this formula is in disjunctive normal form.
-
toNnf
public FolFormula toNnf()
Description copied from class:FolFormulaMakes the negation normal form of this formula.- Specified by:
toNnfin classFolFormula- Returns:
- the NNF of this formula
-
collapseAssociativeFormulas
public RelationalFormula collapseAssociativeFormulas()
Description copied from class:FolFormulaThis method collapses all associative operations appearing in this term, e.g. every a||(b||c) becomes a||b||c.- Specified by:
collapseAssociativeFormulasin classFolFormula- Returns:
- the collapsed formula.
-
clone
public ExclusiveDisjunction clone()
Description copied from interface:SimpleLogicalFormulaCreates a deep copy of this formula- Specified by:
clonein interfaceComplexLogicalFormula- Specified by:
clonein interfaceSimpleLogicalFormula- Specified by:
clonein classFolFormula- Returns:
- the cloned formula
-
createEmptyFormula
public ExclusiveDisjunction createEmptyFormula()
- Returns:
- an empty version of the AssociativeFormula
-
getOperatorSymbol
public java.lang.String getOperatorSymbol()
- Returns:
- A String representing the operator which connects two items of the associative formula.
-
getEmptySymbol
public java.lang.String getEmptySymbol()
- Returns:
- A String representing an empty version of the Associative Formula implementation
-
-