term

util

package util

Contains some useful functionality to work with terms.

Overview

The class Equation for equation on terms is provided as well as the class Rule for term rewrite rules. The object term.util.package.E is a factory for equations and term.util.package.R a factory for rules. The object term.util.package.MathSymbol provides some mathematical unicode symbols.

Visibility
  1. Public
  2. All

Type Members

  1. type E = Equation

    Shorthand for an Equation.

    Shorthand for an Equation.

    Definition Classes
    package
  2. type ERC = (ES, TRS, TRS)

    A tripel consisting of an equational system, a term rewrite system, and an additional constraining term rewrite system.

    A tripel consisting of an equational system, a term rewrite system, and an additional constraining term rewrite system.

    These tripels are used for completion runs which use external termination tools.

    Definition Classes
    package
  3. type ES = List[E]

    An equational system (ES) is a list of equations between terms.

    An equational system (ES) is a list of equations between terms.

    Definition Classes
    package
  4. case class Equation (l: Term, r: Term) extends Product with Serializable

    Represents an equation between two terms.

  5. type Overlap = (Rule, Pos, Rule)

    An overlap is a tripel consisting of a term rewrite rule, a position, and another term rewrite rule.

    An overlap is a tripel consisting of a term rewrite rule, a position, and another term rewrite rule.

    The position shows where the left-hand side of the second rule overlaps with the left-hand side of the first rule.

    Definition Classes
    package
  6. type R = Rule

    Shorthand for a Rule.

    Shorthand for a Rule.

    Definition Classes
    package
  7. case class Rule (l: Term, r: Term) extends Product with Serializable

    Represents a term rewrite rule.

  8. type TRS = List[R]

    A term rewrite system (TRS) is a list of term rewrite rules.

    A term rewrite system (TRS) is a list of term rewrite rules.

    Definition Classes
    package

Value Members

  1. object E extends Serializable

    Factory for Equation instances.

  2. object Equation extends Serializable

    Factory for Equation instances.

  3. object MathSymbol extends AnyRef

    This object provides meaningfull names for some usefull mathematical unicode symbols.

  4. object R extends Serializable

    Factory for Rule instances.

  5. def combine [T] (is: List[Int], xs1: List[T], ys2: List[T]): List[T]

    Definition Classes
    package
  6. def cps (trs1: TRS, trs2: TRS): ES

    Returns a list of critical pairs between left-hand sides of rules in trs1 and left-hand sides of rules in trs2.

    Returns a list of critical pairs between left-hand sides of rules in trs1 and left-hand sides of rules in trs2.

    Definition Classes
    package
  7. def cps (trs: TRS): ES

    Returns a list of critical pairs between left-hand sides of rules in trs.

    Returns a list of critical pairs between left-hand sides of rules in trs.

    Definition Classes
    package
  8. def crit_pair (ol: ()): E

    Returns the critical pair generated by the overlap ol.

    Returns the critical pair generated by the overlap ol.

    Definition Classes
    package
  9. def end [T] (l: List[T], r: T): List[T]

    Returns a list consisting of list l with element r appended at the end.

    Returns a list consisting of list l with element r appended at the end.

    T

    the type of the list's elements

    Definition Classes
    package
  10. def filterNot [T] (l: List[T], n: Int): List[T]

    Returns the list l with the n-th element removed.

    Returns the list l with the n-th element removed.

    T

    the type of the list's elements

    Definition Classes
    package
  11. def longest (ls: List[Term]): Int

    Definition Classes
    package
  12. def ms : Boolean

    Returns true if termlib is running on a Microsoft Windows and false otherwise.

    Returns true if termlib is running on a Microsoft Windows and false otherwise.

    Definition Classes
    package
  13. def overlaps (trs1: TRS, trs2: TRS): List[()]

    Returns a list of all overlaps between left-hand sides of rules from trs1 and left-hand sides of rules from trs2.

    Returns a list of all overlaps between left-hand sides of rules from trs1 and left-hand sides of rules from trs2.

    Definition Classes
    package
  14. def overlaps (trs: TRS): List[()]

    Returns a list of all overlaps between left-hand sides of rules from the term rewrite system trs.

    Returns a list of all overlaps between left-hand sides of rules from the term rewrite system trs.

    Definition Classes
    package
  15. def partition [T] (is: List[Int], ls: List[T]): (List[T], List[T])

    Returns a pair of two lists where the first entry is the list consisting of elements from ls with indices in is and the second entry is the rest of ls.

    Returns a pair of two lists where the first entry is the list consisting of elements from ls with indices in is and the second entry is the rest of ls.

    Definition Classes
    package
  16. def saneVars (excl: Set[String], vs: Set[String]): Subst

    Definition Classes
    package
  17. def vars (ies: IES): List[V]

    Definition Classes
    package
  18. def vars (es: ES): List[V]

    Returns a list of all variables used in the equational system es.

    Returns a list of all variables used in the equational system es.

    Definition Classes
    package