term.util.package

Rule

case class Rule (l: Term, r: Term) extends Product with Serializable

Represents a term rewrite rule.

A term rewrite rule is a pair of terms where the restriction is that the left-hand side may not be a variable and all the variables of the right-hand side have to be contained in the left-hand side.

l

the left-hand side of the rule

r

the right-hand side of the rule

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. Rule
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Rule (l: Term, r: Term)

    Creates a new rule from two terms.

    Creates a new rule from two terms.

    l

    the left-hand side of the rule

    r

    the right-hand side of the rule

Value Members

  1. def != (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  2. def != (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  3. def ## (): Int

    Attributes
    final
    Definition Classes
    AnyRef → Any
  4. def == (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  5. def == (arg0: Any): Boolean

    Attributes
    final
    Definition Classes
    Any
  6. def apply (s: Subst): Rule

    Returns this rule after the substitution s was applied to the left- and right-hand sides.

  7. def asInstanceOf [T0] : T0

    Attributes
    final
    Definition Classes
    Any
  8. def canEqual (other: Any): Boolean

    Definition Classes
    Rule → Equals
  9. def check (p: Pos, r: Rule): Boolean

  10. def clone (): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. def eq (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  12. def equals (other: Any): Boolean

    Definition Classes
    Rule → Equals → AnyRef → Any
  13. def finalize (): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  14. def getClass (): java.lang.Class[_]

    Attributes
    final
    Definition Classes
    AnyRef → Any
  15. def hashCode (): Int

    Definition Classes
    Rule → AnyRef → Any
  16. def isInstanceOf [T0] : Boolean

    Attributes
    final
    Definition Classes
    Any
  17. def lhs : Term

    Returns the left-hand side term of the rule.

  18. def ne (arg0: AnyRef): Boolean

    Attributes
    final
    Definition Classes
    AnyRef
  19. def notify (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  20. def notifyAll (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
  21. def overlaps (trs: TRS): List[()]

    Returns a list of overlaps between the left-hand side of this rule and the left-hand sides of rules from the term rewrite system trs.

  22. def overlaps (r: Rule): List[()]

    Returns a list of overlaps between the left-hand sides of this rule and rule r.

  23. def productArity : Int

    Definition Classes
    Rule → Product
  24. def productElement (arg0: Int): Any

    Definition Classes
    Rule → Product
  25. def productIterator : Iterator[Any]

    Definition Classes
    Product
  26. def productPrefix : String

    Definition Classes
    Rule → Product
  27. def rhs : Term

    Returns the right-hand side term of t he rule.

  28. def simpl (rs: TRS): R

    Returns this rule after the left- and right-hand sides of it were rewritten one time with respect to the term rewrite system rs.

  29. def simplLHS (rs: TRS): R

    Returns this rule after the left-hand side of it was rewritten one time with respect to the term rewrite system rs.

  30. def simplRHS (irs: List[()]): (R, Int)

  31. def simplRHS (rs: TRS): R

    Returns this rule after the right-hand side of it was rewritten one time with respect to the term rewrite system rs.

  32. def simplRHSToNF (rs: TRS): R

    Returns this rule after the right-hand side of it was rewritten to normal form with respect to the term rewrite system rs.

  33. def swap : Rule

    Returns the re-oriented rule where the left- and right-hand sides are swapped.

  34. def synchronized [T0] (arg0: ⇒ T0): T0

    Attributes
    final
    Definition Classes
    AnyRef
  35. def toEquation : Equation

    Returns a Equation containing the left- and right-hand sides of the rule.

  36. def toString (): String

    Definition Classes
    Rule → AnyRef → Any
  37. def toTuple : (Term, Term)

    Returns a scala.Tuple2 containing the left- and right-hand sides of the rule.

  38. def variantOf (that: Rule): Boolean

    Returns true if the left-hand and right-hand sides of this rule are variants of the left- and right-hand sides of that rule and false otherwise.

  39. def vars : List[V]

    Returns the list of variables occuring in this rule.

  40. def wait (): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  41. def wait (arg0: Long, arg1: Int): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  42. def wait (arg0: Long): Unit

    Attributes
    final
    Definition Classes
    AnyRef
    Annotations
    @throws()
  43. def xReduce (r: R): Option[Term]

    Returns scala.Some(this) rule where the left-hand side is reduced by one step with respect to rule r if the left-hand side of r cannot be reduced by this rule and scala.None otherwise.

  44. def xReduceRHS (irs: List[()]): (R, Int)

  45. def xReduceRHS (rs: TRS): R

    Returns this rule where the right-hand side is reduced by one step with respect to rs without this rule itself.

  46. def xReducibleLHS (rs: TRS): Boolean

    Returns true if the left-hand side of this rule is reducible by some rule from rs which is not equal to this rule.

  47. def xRewriteRHS (rs: TRS): R

    Returns this rule where the right-hand side is reduced to normal form with respect to rs without this rule itself.

Deprecated Value Members

  1. def productElements : Iterator[Any]

    Definition Classes
    Product
    Annotations
    @deprecated
    Deprecated

    use productIterator instead

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any