Class Conjunction
java.lang.Object
org.tweetyproject.logics.pl.syntax.PlFormula
org.tweetyproject.logics.pl.syntax.AssociativePlFormula
org.tweetyproject.logics.pl.syntax.Conjunction
- All Implemented Interfaces:
Iterable<PlFormula>,Collection<PlFormula>,List<PlFormula>,Formula,AssociativeFormulaSupport.AssociativeSupportBridge,AssociativeFormula<PlFormula>,ClassicalFormula,Conjunctable,Disjunctable,Invertable,ProbabilityAware,SimpleLogicalFormula
This class represents a conjunction in propositional logic.
- Author:
- Matthias Thimm, Tim Janus
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a new (empty) conjunction.Conjunction(Collection<? extends PlFormula> formulas) Creates a new conjunction with the given inner formulas.Conjunction(PlFormula first, PlFormula second) Creates a new conjunction with the two given formulae -
Method Summary
Modifier and TypeMethodDescriptionclone()Creates a deep copy of this formulaThis method collapses all associative operations appearing in this term, e.g.getModels(PlSignature sig) Returns the set of models of this formula wrt.booleanChecks whether this formula is a conjunctive clause, i.e.replace(Proposition p, PlFormula f, int i) Replaces the ith instance of the proposition p by f.toCnf()This method returns this formula in conjunctive normal form (CNF).toNnf()This method returns this formula in negation normal form (NNF).trim()Removes duplicates (identical formulas) from conjunctions and disjunctions and removes duplicate negations.Methods inherited from class org.tweetyproject.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, toStringMethods inherited from class org.tweetyproject.logics.pl.syntax.PlFormula
combineWithAnd, combineWithOr, complement, getModels, getPredicateCls, getPrimeImplicants, getUniformProbability, isClause, isLiteral, resolvableWith, resolveWith, toBlakeCanonicalForm, toDnfMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface java.util.List
replaceAll, sort, spliteratorMethods inherited from interface org.tweetyproject.logics.commons.syntax.interfaces.SimpleLogicalFormula
getPredicateCls, isLiteral
-
Constructor Details
-
Conjunction
Creates a new conjunction with the given inner formulas.- Parameters:
formulas- a collection of formulas.
-
Conjunction
public Conjunction()Creates a new (empty) conjunction. -
Conjunction
Creates a new conjunction with the two given formulae- Parameters:
first- a propositional formula.second- a propositional formula.
-
-
Method Details
-
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
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
Description copied from interface:SimpleLogicalFormulaCreates a deep copy of this formula- Specified by:
clonein interfaceSimpleLogicalFormula- Specified by:
clonein classPlFormula- Returns:
- the cloned formula
-
createEmptyFormula
- Returns:
- an empty version of the AssociativeFormula
-
getOperatorSymbol
- Returns:
- A String representing the operator which connects two items of the associative formula.
-
getEmptySymbol
- Returns:
- A String representing an empty version of the Associative Formula implementation
-
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. The CNF generated by this method is not necessarily minimal. -
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
Description copied from class:PlFormulaReturns the set of models of this formula wrt. the given signature. -
isConjunctiveClause
public boolean isConjunctiveClause()Description copied from class:PlFormulaChecks whether this formula is a conjunctive clause, i.e. whether it is a conjunction of literals.- Overrides:
isConjunctiveClausein classPlFormula- Returns:
- "true" iff this formula is a conjunctive clause.
-
replace
Description copied from class:PlFormulaReplaces the ith instance of the proposition p by f.
-