# IVariable

### Related Docs: object IVariable | package parser

#### abstract class IVariable extends ITerm

Bound variables, represented using their de Bruijn index and the sort.

Linear Supertypes
ITerm, IExpression, AnyRef, Any
Known Subclasses
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. IVariable
2. ITerm
3. IExpression
4. AnyRef
5. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Abstract Value Members

1. #### abstract def index: Int

The index of the bound variable.

2. #### abstract def shiftedBy(shift: Int): IVariable

Increase the index of this variable by `shift` (which can have any sign).

Increase the index of this variable by `shift` (which can have any sign).

3. #### abstract def sort: Sort

The sort of the bound variable.

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. #### final def ##(): Int

Definition Classes
AnyRef → Any
3. #### def *(that: ITerm): ITerm

Product of two terms (only defined if at least one of the terms is constant).

Product of two terms (only defined if at least one of the terms is constant).

Definition Classes
ITerm
4. #### def *(coeff: IdealInt): ITerm

Product of term with an integer.

Product of term with an integer.

Definition Classes
ITerm
5. #### def ***(coeff: IdealInt): ITerm

Product of two terms.

Product of two terms. The resulting expression is simplified immediately if one of the terms is constant.

Definition Classes
ITerm
6. #### def +(that: ITerm): ITerm

Sum of two terms.

Sum of two terms.

Definition Classes
ITerm
7. #### def +++(that: ITerm): ITerm

Sum of two terms.

Sum of two terms. The resulting expression is simplified immediately if one of the terms disappears.

Definition Classes
ITerm
8. #### def -(that: ITerm): ITerm

Difference between two terms.

Difference between two terms.

Definition Classes
ITerm
9. #### def ---(that: ITerm): ITerm

Difference of two terms.

Difference of two terms. The resulting expression is simplified immediately if one of the terms disappears.

Definition Classes
ITerm
10. #### def <(that: ITerm): IFormula

Inequality between two terms.

Inequality between two terms.

Definition Classes
ITerm
11. #### def <=(that: ITerm): IFormula

Inequality between two terms.

Inequality between two terms.

Definition Classes
ITerm
12. #### def =/=(that: ITerm): IFormula

Dis-equation between two terms.

Dis-equation between two terms.

Definition Classes
ITerm
13. #### final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any
14. #### def ===(that: ITerm): IFormula

Equation between two terms.

Equation between two terms.

Definition Classes
ITerm
15. #### def >(that: ITerm): IFormula

Inequality between two terms.

Inequality between two terms.

Definition Classes
ITerm
16. #### def >=(that: ITerm): IFormula

Inequality between two terms.

Inequality between two terms.

Definition Classes
ITerm
17. #### def apply(i: Int): IExpression

Return the `i`th sub-expression.

Return the `i`th sub-expression.

Definition Classes
IExpression
18. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
19. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
20. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
21. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
22. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
23. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
24. #### def hashCode(): Int

Definition Classes
AnyRef → Any
25. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
26. #### def iterator: Iterator[IExpression]

Iterator over the sub-expressions of this expression.

Iterator over the sub-expressions of this expression.

Definition Classes
IExpression
27. #### def length: Int

Number of sub-expressions.

Number of sub-expressions.

Definition Classes
IExpression
28. #### def minusSimplify: ITerm

Negation of a term.

Negation of a term. The resulting expression is simplified immediately if one of the terms is constant.

Definition Classes
ITerm
29. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
30. #### final def notify(): Unit

Definition Classes
AnyRef
31. #### final def notifyAll(): Unit

Definition Classes
AnyRef
32. #### def subExpressions: IndexedSeq[IExpression]

The sub-expressions of this expression.

The sub-expressions of this expression.

Definition Classes
IExpression
33. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
34. #### def toString(): String

Definition Classes
AnyRef → Any
35. #### def unary_-: ITerm

Negation of a term.

Negation of a term.

Definition Classes
ITerm
36. #### def update(newSubExprs: Seq[IExpression]): ITerm

Replace the subexpressions of this node with new expressions

Replace the subexpressions of this node with new expressions

Definition Classes
ITermIExpression
37. #### final def wait(): Unit

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

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

Definition Classes
AnyRef
Annotations
@throws( ... )