Class Statement

java.lang.Object
org.tweetyproject.math.term.OptProbElement
org.tweetyproject.math.equation.Statement
Direct Known Subclasses:
Equation, Inequation

public abstract class Statement extends OptProbElement
This class models a mathematical statement, i.e. an equality or an inequality.
Author:
Matthias Thimm
  • Constructor Details

    • Statement

      public Statement(Term leftTerm, Term rightTerm)
      Creates a new statement with the given terms.
      Parameters:
      leftTerm - a term.
      rightTerm - a term.
  • Method Details

    • getLeftTerm

      public Term getLeftTerm()
      Returns the left term of this statement.
      Returns:
      the left term of this statement.
    • getMinimums

      public Set<Minimum> getMinimums()
      Returns all minimums of this statement.
      Returns:
      all minimums of this statement.
    • getMaximums

      public Set<Maximum> getMaximums()
      Returns all maximums of this statement.
      Returns:
      all maximums of this statement.
    • getAbsoluteValues

      public Set<AbsoluteValue> getAbsoluteValues()
      Returns all absolute values of this statement.
      Returns:
      all absolute values of this statement.
    • replaceTerm

      public abstract Statement replaceTerm(Term toSubstitute, Term substitution)
      Replaces each occurrence of "toSubstitute" by "substitution" and return the new statement.
      Parameters:
      toSubstitute - the term to be substituted
      substitution - the new term
      Returns:
      this statement where "toSubstitute" is replaced by "substitution"
    • replaceAllTerms

      public Statement replaceAllTerms(Map<? extends Term,? extends Term> substitutes)
      Replaces terms according to the given map.
      Parameters:
      substitutes - a map.
      Returns:
      a term.
    • isNormalized

      public abstract boolean isNormalized()
      Checks whether this constraint is of normalized form, i.e. whether it has the form "T > 0" or "T >= 0", "T = 0" or "T != 0"
      Returns:
      "true" iff this constraint is normalized.
    • toNormalizedForm

      public abstract Statement toNormalizedForm()
      Normalizes this constraint, i.e. brings it into an equivalent form "T > 0" or "T >= 0", "T = 0" or "T != 0".
      Returns:
      a statement.
    • toLinearForm

      public abstract Statement toLinearForm()
      Brings both terms into linear form. If this constraint is normalized (i.e. the right term consists of the constant 0) the right term is not linearized.
      Returns:
      a statement.
    • collapseAssociativeOperations

      public void collapseAssociativeOperations()
      This method collapses all associative operations appearing in this statement, e.g. every min{min{a,b},c} becomes min{a,b,c}
    • expandAssociativeOperations

      public void expandAssociativeOperations()
      This method expands all associative operations appearing in this statement, e.g. every min{a,b,c} becomes min{min{a,b},c}.
    • getRightTerm

      public Term getRightTerm()
      Returns the right term of this statement.
      Returns:
      the right term of this statement.
    • setLeftTerm

      public void setLeftTerm(Term t)
      Sets the left term of this statement.
      Parameters:
      t - a term
    • setRightTerm

      public void setRightTerm(Term t)
      Sets the right term of this statement.
      Parameters:
      t - a term
    • isValid

      public abstract boolean isValid(Statement s)
      checks if a Statement fulfills the relation
      Parameters:
      s - a Statement with values for all variables
      Returns:
      if the left and the right hand side are in the correct relation to each other
    • getRelationSymbol

      public abstract String getRelationSymbol()
      Returns the relation symbol of this statement.
      Returns:
      the relation symbol of this statement.
    • toString

      public String toString()
      Overrides:
      toString in class Object