Interface ComplexLogicalFormula
- 
- All Superinterfaces:
- Formula,- LogicStructure,- SimpleLogicalFormula
 - All Known Subinterfaces:
- QuantifiedFormula
 - All Known Implementing Classes:
- AbaElement,- AbaRule,- AggregateAtom,- AggregateElement,- ASPAtom,- ASPBodyElement,- ASPElement,- ASPHead,- ASPLiteral,- ASPRule,- AssociativeFolFormula,- AssociativeFormulaSupport,- Assumption,- ComparativeAtom,- ComplexLogicalFormulaAdapter,- Conjunction,- Contradiction,- DefaultNegation,- DefaultRule,- DefeasibleInferenceRule,- DefeasibleRule,- DelpFact,- DelpRule,- Disjunction,- Equivalence,- ExclusiveDisjunction,- ExistsQuantifiedFormula,- FolAtom,- FolFormula,- ForallQuantifiedFormula,- Implication,- InferenceRule,- InferenceRule,- MlFormula,- MlnFormula,- Necessity,- Negation,- Negation,- NLPNot,- NLPRule,- Possibility,- RelationalConditional,- RelationalFormula,- RelationalProbabilisticConditional,- SpecialFormula,- StrictInferenceRule,- StrictNegation,- StrictRule,- Tautology
 
 public interface ComplexLogicalFormula extends SimpleLogicalFormula, LogicStructure A complex logical formula can contain arguments referred as terms, this interface provides methods to substitute and exchange those terms. It also provides utility functions like isGround() and isWellFormed().- Author:
- Tim Janus, Matthias Thimm
 
- 
- 
Method SummaryModifier and Type Method Description ComplexLogicalFormulaclone()Creates a deep copy of this formulaComplexLogicalFormulaexchange(Term<?> v, Term<?> t)Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.booleanisGround()Checks whether this formula is ground, i.e.booleanisWellFormed()Checks if this formula is well formed in the logical langauge.ComplexLogicalFormulasubstitute(java.util.Map<? extends Term<?>,? extends Term<?>> map)Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.ComplexLogicalFormulasubstitute(Term<?> v, Term<?> t)Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.- 
Methods inherited from interface net.sf.tweety.commons.FormulagetSignature
 - 
Methods inherited from interface net.sf.tweety.logics.commons.syntax.interfaces.LogicStructurecontainsTermsOfType, getTerms, getTerms
 - 
Methods inherited from interface net.sf.tweety.logics.commons.syntax.interfaces.SimpleLogicalFormulaequals, getAtoms, getPredicateCls, getPredicates, hashCode, isLiteral
 
- 
 
- 
- 
- 
Method Detail- 
substituteComplexLogicalFormula substitute(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException Substitutes all occurrences of term "v" in this formula by term "t" and returns the new formula.- Parameters:
- v- the term to be substituted.
- t- the term to substitute.
- Returns:
- a formula where every occurrence of "v" is replaced by "t".
- Throws:
- java.lang.IllegalArgumentException- if "v" and "t" are of different sorts
 
 - 
substituteComplexLogicalFormula substitute(java.util.Map<? extends Term<?>,? extends Term<?>> map) throws java.lang.IllegalArgumentException Substitutes all occurrences of all terms "v" in map.keyset() in this formula by map.get(v) and returns the new formula.- Parameters:
- map- a mapping defining which terms to be substituted.
- Returns:
- a formula where every term in map.keyset() has been replaced by map.get(v).
- Throws:
- java.lang.IllegalArgumentException- if any term and its mapping are of different sorts
 
 - 
exchangeComplexLogicalFormula exchange(Term<?> v, Term<?> t) throws java.lang.IllegalArgumentException Substitutes all occurrences of term "v" in this formula by term "t" and at the same time replaces all occurrences of term "t" by term "v" and eventually returns the new formula.- Parameters:
- v- a term.
- t- a term.
- Returns:
- a new logical formula with both "v" and "t" exchanged.
- Throws:
- java.lang.IllegalArgumentException- if "v" and "t" are of different sorts
 
 - 
isGroundboolean isGround() Checks whether this formula is ground, i.e. whether there appears no variable in this formula.- Returns:
- "true" if this formula is ground.
 
 - 
isWellFormedboolean isWellFormed() Checks if this formula is well formed in the logical langauge. What well- formed means is highly language dependent and the documentation of implementing sub classes shall describe the well formed term for the language they model.- Returns:
- true if the formula is well-formed, false otherwise
 
 - 
cloneComplexLogicalFormula clone() Description copied from interface:SimpleLogicalFormulaCreates a deep copy of this formula- Specified by:
- clonein interface- SimpleLogicalFormula
- Returns:
- the cloned formula
 
 
- 
 
-