Package net.sf.tweety.logics.pl.syntax
Class Disjunction
- java.lang.Object
-
- net.sf.tweety.logics.pl.syntax.PlFormula
-
- net.sf.tweety.logics.pl.syntax.AssociativePlFormula
-
- net.sf.tweety.logics.pl.syntax.Disjunction
-
- All Implemented Interfaces:
java.lang.Iterable<PlFormula>,java.util.Collection<PlFormula>,java.util.List<PlFormula>,Formula,AssociativeFormulaSupport.AssociativeSupportBridge,AssociativeFormula<PlFormula>,ClassicalFormula,Conjunctable,Disjunctable,Invertable,ProbabilityAware,SimpleLogicalFormula
public class Disjunction extends AssociativePlFormula
This class represents a disjunction in propositional logic.- Author:
- Matthias Thimm, Tim Janus
-
-
Constructor Summary
Constructors Constructor Description Disjunction()Creates a new (empty) disjunction.Disjunction(java.util.Collection<? extends PlFormula> formulas)Creates a new disjunction with the given inner formulas.Disjunction(PlFormula first, PlFormula second)Creates a new disjunction with the two given formulae
-
Method Summary
Modifier and Type Method Description PlFormulaclone()Creates a deep copy of this formulaPlFormulacollapseAssociativeFormulas()This method collapses all associative operations appearing in this term, e.g.DisjunctioncreateEmptyFormula()java.lang.StringgetEmptySymbol()java.util.Set<PossibleWorld>getModels(PlSignature sig)Returns the set of models of this formula wrt.java.lang.StringgetOperatorSymbol()booleanisClause()Checks whether this formula is a clause, i.e.PlFormulareplace(Proposition p, PlFormula f, int i)Replaces the ith instance of the proposition p by f.ConjunctiontoCnf()This method returns this formula in conjunctive normal form (CNF).PlFormulatoNnf()This method returns this formula in negation normal form (NNF).PlFormulatrim()Removes duplicates (identical formulas) from conjunctions and disjunctions and removes duplicate negations.-
Methods inherited from class net.sf.tweety.logics.pl.syntax.AssociativePlFormula
add, add, add, addAll, addAll, clear, contains, containsAll, createEmptySignature, equals, get, getAtoms, getFormulas, getFormulas, getLiterals, getPredicates, getSignature, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, numberOfOccurrences, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray, toString
-
Methods inherited from class net.sf.tweety.logics.pl.syntax.PlFormula
combineWithAnd, combineWithOr, complement, getModels, getPredicateCls, getPrimeImplicants, getUniformProbability, isConjunctiveClause, isLiteral, resolvableWith, resolveWith, toBlakeCanonicalForm, toDnf
-
Methods inherited from interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormula
getPredicateCls, isLiteral
-
-
-
-
Constructor Detail
-
Disjunction
public Disjunction(java.util.Collection<? extends PlFormula> formulas)
Creates a new disjunction with the given inner formulas.- Parameters:
formulas- a collection of formulas.
-
Disjunction
public Disjunction()
Creates a new (empty) disjunction.
-
-
Method Detail
-
collapseAssociativeFormulas
public PlFormula collapseAssociativeFormulas()
Description copied from class:PlFormulaThis method collapses all associative operations appearing in this term, e.g. every a||(b||c) becomes a||b||c.- Specified by:
collapseAssociativeFormulasin classPlFormula- Returns:
- the collapsed formula.
-
toNnf
public PlFormula toNnf()
Description copied from class:PlFormulaThis method returns this formula in negation normal form (NNF). A formula is in NNF iff negations occur only directly in front of a proposition.
-
clone
public PlFormula clone()
Description copied from interface:SimpleLogicalFormulaCreates a deep copy of this formula- Specified by:
clonein interfaceSimpleLogicalFormula- Specified by:
clonein classPlFormula- Returns:
- the cloned formula
-
createEmptyFormula
public Disjunction 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
-
toCnf
public Conjunction toCnf()
Description copied from class:PlFormulaThis method returns this formula in conjunctive normal form (CNF). A formula is in CNF iff it is a conjunction of disjunctions and in NNF.
-
trim
public PlFormula trim()
Description copied from class:PlFormulaRemoves duplicates (identical formulas) from conjunctions and disjunctions and removes duplicate negations. Simplifies equivalences and implications with equivalent formulas (A=>A, A<=>A) to tautologies.
-
getModels
public java.util.Set<PossibleWorld> getModels(PlSignature sig)
Description copied from class:PlFormulaReturns the set of models of this formula wrt. the given signature.
-
isClause
public boolean isClause()
Description copied from class:PlFormulaChecks whether this formula is a clause, i.e. whether it is a disjunction of literals.
-
replace
public PlFormula replace(Proposition p, PlFormula f, int i)
Description copied from class:PlFormulaReplaces the ith instance of the proposition p by f.
-
-