Class Negation

java.lang.Object
org.tweetyproject.logics.pl.syntax.PlFormula
org.tweetyproject.logics.pl.syntax.Negation
All Implemented Interfaces:
Formula, ClassicalFormula, Conjunctable, Disjunctable, Invertable, ProbabilityAware, SimpleLogicalFormula

public class Negation extends PlFormula
This class models classical negation of propositional logic.
Author:
Matthias Thimm, Tim Janus
  • Constructor Details

    • Negation

      public Negation(PlFormula formula)
      Creates a new negation with the given formula.
      Parameters:
      formula - the formula within the negation.
  • Method Details

    • getFormula

      public PlFormula getFormula()
      Returns the formula within this negation.
      Returns:
      the formula within this negation.
    • collapseAssociativeFormulas

      public PlFormula collapseAssociativeFormulas()
      Description copied from class: PlFormula
      This method collapses all associative operations appearing in this term, e.g. every a||(b||c) becomes a||b||c.
      Specified by:
      collapseAssociativeFormulas in class PlFormula
      Returns:
      the collapsed formula.
    • hasLowerBindingPriority

      public boolean hasLowerBindingPriority(PlFormula other)
      Parameters:
      other - another formula
      Returns:
      whether the formula has a lower binding priority
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toNnf

      public PlFormula toNnf()
      Description copied from class: PlFormula
      This method returns this formula in negation normal form (NNF). A formula is in NNF iff negations occur only directly in front of a proposition.
      Specified by:
      toNnf in class PlFormula
      Returns:
      the formula in NNF.
    • trim

      public PlFormula trim()
      Description copied from class: PlFormula
      Removes duplicates (identical formulas) from conjunctions and disjunctions and removes duplicate negations. Simplifies equivalences and implications with equivalent formulas (A=>A, A<=>A) to tautologies.
      Specified by:
      trim in class PlFormula
      Returns:
      an equivalent formula without duplicates.
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface SimpleLogicalFormula
      Specified by:
      hashCode in class PlFormula
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface SimpleLogicalFormula
      Specified by:
      equals in class PlFormula
    • getPredicates

      public Set<PlPredicate> getPredicates()
      Description copied from interface: SimpleLogicalFormula
      Processes the set of all predicates which appear in this formula
      Specified by:
      getPredicates in interface SimpleLogicalFormula
      Specified by:
      getPredicates in class PlFormula
      Returns:
      all predicates that appear in this formula
    • clone

      public PlFormula clone()
      Description copied from interface: SimpleLogicalFormula
      Creates a deep copy of this formula
      Specified by:
      clone in interface SimpleLogicalFormula
      Specified by:
      clone in class PlFormula
      Returns:
      the cloned formula
    • getAtoms

      public Set<Proposition> getAtoms()
      Description copied from interface: SimpleLogicalFormula
      Processes the set of all atoms which appear in this formula
      Specified by:
      getAtoms in interface SimpleLogicalFormula
      Specified by:
      getAtoms in class PlFormula
      Returns:
      The set of all atoms
    • isLiteral

      public boolean isLiteral()
      Specified by:
      isLiteral in interface SimpleLogicalFormula
      Overrides:
      isLiteral in class PlFormula
      Returns:
      true if the formula represents a literal in the language or false otherwise
    • getLiterals

      public Set<PlFormula> getLiterals()
      Description copied from class: PlFormula
      Returns all literals, i.e. all formulas of the form "a" or "!a" where "a" is a proposition, that appear in this formula.
      Specified by:
      getLiterals in class PlFormula
      Returns:
      all literals appearing in this formula.
    • getSignature

      public PlSignature getSignature()
      Description copied from interface: Formula
      Returns the signature of the language of this formula.
      Specified by:
      getSignature in interface Formula
      Overrides:
      getSignature in class PlFormula
      Returns:
      the signature of the language of this formula.
    • toCnf

      public Conjunction toCnf()
      Description copied from class: PlFormula
      This 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.
      Specified by:
      toCnf in class PlFormula
      Returns:
      the formula in CNF.
    • getModels

      public Set<PossibleWorld> getModels(PlSignature sig)
      Description copied from class: PlFormula
      Returns the set of models of this formula wrt. the given signature.
      Specified by:
      getModels in class PlFormula
      Parameters:
      sig - some propositional signature
      Returns:
      the set of models of this formula wrt. the given signature.
    • numberOfOccurrences

      public int numberOfOccurrences(Proposition p)
      Description copied from class: PlFormula
      Returns the number of occurrences of the given proposition within this formula
      Specified by:
      numberOfOccurrences in class PlFormula
      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: PlFormula
      Replaces the ith instance of the proposition p by f.
      Specified by:
      replace in class PlFormula
      Parameters:
      p - some proposition
      f - some formula
      i - the index of the proposition
      Returns:
      a new formula with the ith instance of the proposition p replaced by f.