Class ExistsQuantifiedFormula
- java.lang.Object
-
- org.tweetyproject.logics.pl.syntax.PlFormula
-
- org.tweetyproject.logics.qbf.syntax.ExistsQuantifiedFormula
-
- All Implemented Interfaces:
Formula,ClassicalFormula,Conjunctable,Disjunctable,Invertable,ProbabilityAware,SimpleLogicalFormula
public class ExistsQuantifiedFormula extends PlFormula
This class represents existential quantification for boolean formulas.- Author:
- Anna Gessler
-
-
Constructor Summary
Constructors Constructor Description ExistsQuantifiedFormula(PlFormula f, java.util.Set<Proposition> variables)Create a new existential boolean quantification.ExistsQuantifiedFormula(PlFormula f, Proposition variable)Create a new existential boolean quantification.ExistsQuantifiedFormula(ExistsQuantifiedFormula other)Create a new existential boolean quantification.
-
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.booleanequals(java.lang.Object obj)java.util.Set<Proposition>getAtoms()Processes the set of all atoms which appear in this formulaPlFormulagetFormula()java.util.Set<PlFormula>getLiterals()Returns all literals, i.e.java.util.Set<PossibleWorld>getModels(PlSignature sig)Returns the set of models of this formula wrt.java.util.Set<PlPredicate>getPredicates()Processes the set of all predicates which appear in this formulajava.util.Set<Proposition>getQuantifierVariables()PlSignaturegetSignature()Returns the signature of the language of this formula.inthashCode()intnumberOfOccurrences(Proposition p)Returns the number of occurrences of the given proposition within this formulaPlFormulareplace(Proposition p, PlFormula f, int i)Replaces the ith instance of the proposition p by f.ConjunctiontoCnf()In this case, this method returns this quantified boolean formula's cnf kernel.PlFormulatoNnf()This method returns this formula in negation normal form (NNF).java.lang.StringtoString()PlFormulatrim()Removes duplicates (identical formulas) from conjunctions and disjunctions and removes duplicate negations.-
Methods inherited from class org.tweetyproject.logics.pl.syntax.PlFormula
combineWithAnd, combineWithOr, complement, getModels, getPredicateCls, getPrimeImplicants, getUniformProbability, isClause, isConjunctiveClause, isLiteral, resolvableWith, resolveWith, toBlakeCanonicalForm, toDnf
-
-
-
-
Constructor Detail
-
ExistsQuantifiedFormula
public ExistsQuantifiedFormula(PlFormula f, java.util.Set<Proposition> variables)
Create a new existential boolean quantification.- Parameters:
f- inner formulavariables- quantifier variables
-
ExistsQuantifiedFormula
public ExistsQuantifiedFormula(PlFormula f, Proposition variable)
Create a new existential boolean quantification.- Parameters:
f- inner formulavariable- quantifier variable
-
ExistsQuantifiedFormula
public ExistsQuantifiedFormula(ExistsQuantifiedFormula other)
Create a new existential boolean quantification.- Parameters:
other- other existential quantified formula
-
-
Method Detail
-
getQuantifierVariables
public java.util.Set<Proposition> getQuantifierVariables()
- Returns:
- the quantifier variables (propositions)
-
getFormula
public PlFormula getFormula()
- Returns:
- the quantified formula
-
getAtoms
public java.util.Set<Proposition> getAtoms()
Description copied from interface:SimpleLogicalFormulaProcesses the set of all atoms which appear in this formula- Specified by:
getAtomsin interfaceSimpleLogicalFormula- Specified by:
getAtomsin classPlFormula- Returns:
- The set of all atoms
-
getLiterals
public java.util.Set<PlFormula> getLiterals()
Description copied from class:PlFormulaReturns all literals, i.e. all formulas of the form "a" or "!a" where "a" is a proposition, that appear in this formula.- Specified by:
getLiteralsin classPlFormula- Returns:
- all literals appearing in this formula.
-
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.
-
getPredicates
public java.util.Set<PlPredicate> getPredicates()
Description copied from interface:SimpleLogicalFormulaProcesses the set of all predicates which appear in this formula- Specified by:
getPredicatesin interfaceSimpleLogicalFormula- Specified by:
getPredicatesin classPlFormula- Returns:
- all predicates that appear in this formula
-
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.
-
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.
-
toCnf
public Conjunction toCnf()
In this case, this method returns this quantified boolean formula's cnf kernel.
-
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.
-
numberOfOccurrences
public int numberOfOccurrences(Proposition p)
Description copied from class:PlFormulaReturns the number of occurrences of the given proposition within this formula- Specified by:
numberOfOccurrencesin classPlFormula- Parameters:
p- some proposition- Returns:
- the number of occurrences of the given proposition within this formula
-
replace
public PlFormula replace(Proposition p, PlFormula f, int i)
Description copied from class:PlFormulaReplaces the ith instance of the proposition p by f.
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfaceSimpleLogicalFormula- Specified by:
equalsin classPlFormula
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfaceSimpleLogicalFormula- Specified by:
hashCodein classPlFormula
-
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
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getSignature
public PlSignature getSignature()
Description copied from interface:FormulaReturns the signature of the language of this formula.- Specified by:
getSignaturein interfaceFormula- Overrides:
getSignaturein classPlFormula- Returns:
- the signature of the language of this formula.
-
-