Trait

inox.ast

Trees

Related Doc: package ast

Permalink

trait Trees extends Expressions with Constructors with Extractors with Types with Definitions with Printers with TreeOps

Self Type
Trees
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Trees
  2. TreeOps
  3. Printers
  4. Definitions
  5. Types
  6. Extractors
  7. Constructors
  8. Expressions
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. sealed case class ADT(id: Identifier, tps: Seq[Trees.Type], args: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ct(args...)

    Encoding of ct(args...)

    args

    The arguments of the case class

    Definition Classes
    Expressions
  2. class ADTConstructor extends Tree with Trees.Definition

    Permalink

    Case classes/ ADT constructors.

    Case classes/ ADT constructors. For single-case classes these may coincide

    Definition Classes
    Definitions
  3. case class ADTLookupException(id: Identifier) extends Trees.LookupException with Product with Serializable

    Permalink
    Definition Classes
    Definitions
  4. sealed case class ADTSelector(adt: Trees.Expr, selector: Identifier) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of value.selector where value is of a case class type

    Encoding of value.selector where value is of a case class type

    If you are not sure about the requirement you should use the adtSelector constructor

    Definition Classes
    Expressions
  5. class ADTSort extends Tree with Trees.Definition

    Permalink

    Algebraic datatype sort definition.

    Algebraic datatype sort definition. An ADT sort is linked to a series of constructors (ADTConstructor) for this particular sort.

    Definition Classes
    Definitions
  6. sealed case class ADTType(id: Identifier, tps: Seq[Trees.Type]) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  7. trait AbstractSymbols extends Trees.Printable with TypeOps with SymbolOps with CallGraph with Paths

    Permalink

    Provides the class and function definitions of a program and lookups on them

    Provides the class and function definitions of a program and lookups on them

    Definition Classes
    Definitions
  8. sealed case class And(exprs: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... && ...

    Encoding of ... && ...

    exprs must contain at least two elements; if you are not sure about this, you should use the and constructor or the andJoin constructor

    Definition Classes
    Expressions
  9. sealed case class Annotation(name: String, args: Seq[Any]) extends Trees.Flag with Product with Serializable

    Permalink

    Compiler annotations given in the source code as @annot.

    Compiler annotations given in the source code as @annot.

    Definition Classes
    Definitions
    See also

    Flag for some notes on the actual type of args.

  10. sealed case class Application(callee: Trees.Expr, args: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of callee(args...), where callee is an expression of a function type (not a method)

    Encoding of callee(args...), where callee is an expression of a function type (not a method)

    Definition Classes
    Expressions
  11. sealed case class Assume(pred: Trees.Expr, body: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Local assumption

    Local assumption

    pred

    The predicate to be assumed

    body

    The expression following assume(pred)

    Definition Classes
    Expressions
  12. sealed case class BVAShiftRight(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... >> ... (32-bit vector) (arithmetic shift, sign-preserving)

    Encoding of ... >> ... (32-bit vector) (arithmetic shift, sign-preserving)

    Definition Classes
    Expressions
  13. sealed case class BVAnd(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... & ... (32-bit vector)

    Encoding of ... & ... (32-bit vector)

    Definition Classes
    Expressions
  14. sealed case class BVLShiftRight(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... >>> ... (32-bit vector) (logical shift)

    Encoding of ... >>> ... (32-bit vector) (logical shift)

    Definition Classes
    Expressions
  15. sealed case class BVLiteral(value: BitSet, size: Int) extends Trees.Literal[BitSet] with Product with Serializable

    Permalink

    Encoding of a n-bit bitvector literal

    Encoding of a n-bit bitvector literal

    Definition Classes
    Expressions
  16. sealed case class BVNarrowingCast(expr: Trees.Expr, newType: Trees.BVType) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... .toByte and other narrowing casts

    Encoding of ... .toByte and other narrowing casts

    Definition Classes
    Expressions
  17. sealed case class BVNot(e: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ~... (32-bit vector)

    Encoding of ~... (32-bit vector)

    Definition Classes
    Expressions
  18. sealed case class BVOr(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... | ... (32-bit vector)

    Encoding of ... | ... (32-bit vector)

    Definition Classes
    Expressions
  19. sealed case class BVShiftLeft(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... << ... (32-bit vector)

    Encoding of ... << ... (32-bit vector)

    Definition Classes
    Expressions
  20. sealed case class BVType(size: Int) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  21. sealed abstract class BVTypeExtractor extends AnyRef

    Permalink
    Definition Classes
    Types
  22. sealed case class BVWideningCast(expr: Trees.Expr, newType: Trees.BVType) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... .toInt and other widening casts

    Encoding of ... .toInt and other widening casts

    Definition Classes
    Expressions
  23. sealed case class BVXor(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... ^ ... (32-bit vector)

    Encoding of ... ^ ... (32-bit vector)

    Definition Classes
    Expressions
  24. sealed case class BagAdd(bag: Trees.Expr, elem: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of bag + elem

    Encoding of bag + elem

    Definition Classes
    Expressions
  25. sealed case class BagDifference(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs -- rhs

    Encoding of lhs -- rhs

    Definition Classes
    Expressions
  26. sealed case class BagIntersection(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs & rhs

    Encoding of lhs & rhs

    Definition Classes
    Expressions
  27. sealed case class BagType(base: Trees.Type) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  28. sealed case class BagUnion(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs ++ rhs

    Encoding of lhs ++ rhs

    Definition Classes
    Expressions
  29. sealed case class BooleanLiteral(value: Boolean) extends Trees.Literal[Boolean] with Product with Serializable

    Permalink

    Encoding of a boolean literal true or false

    Encoding of a boolean literal true or false

    Definition Classes
    Expressions
  30. case class BooleanType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  31. trait CachingTyped extends Trees.Typed

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  32. sealed case class CharLiteral(value: Char) extends Trees.Literal[Char] with Product with Serializable

    Permalink

    Encoding of a character literal

    Encoding of a character literal

    Definition Classes
    Expressions
  33. case class CharType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  34. sealed case class Choose(res: Trees.ValDef, pred: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of choose(...) (returns a value satisfying the provided predicate)

    Encoding of choose(...) (returns a value satisfying the provided predicate)

    Definition Classes
    Expressions
  35. trait Definition extends Tree

    Permalink

    The base trait for Inox definitions

    The base trait for Inox definitions

    Definition Classes
    Definitions
  36. sealed case class Division(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... / ...

    Encoding of ... / ...

    Division and Remainder follows Java/Scala semantics. Division corresponds to / operator on BigInt and Remainder corresponds to %. Note that in Java/Scala % is called remainder and the "mod" operator (Modulo in Inox) is also defined on BigInteger and differs from Remainder. The "mod" operator returns an always positive remainder, while Remainder could return a negative remainder. The following must hold:

    Division(x, y) * y + Remainder(x, y) == x

    Definition Classes
    Expressions
  37. sealed case class ElementOfSet(element: Trees.Expr, set: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set.contains(element) or set(element)

    Encoding of set.contains(element) or set(element)

    Definition Classes
    Expressions
  38. sealed case class Equals(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... == ...

    Encoding of ... == ...

    Definition Classes
    Expressions
  39. abstract class Expr extends Tree with Trees.Typed

    Permalink

    Represents an expression in Inox.

    Represents an expression in Inox.

    Definition Classes
    Expressions
  40. sealed case class FiniteBag(elements: Seq[(Trees.Expr, Trees.Expr)], base: Trees.Type) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of Bag[base](elements)

    Encoding of Bag[base](elements)

    Definition Classes
    Expressions
  41. sealed case class FiniteMap(pairs: Seq[(Trees.Expr, Trees.Expr)], default: Trees.Expr, keyType: Trees.Type, valueType: Trees.Type) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of Map[keyType, valueType](key1 -> value1, key2 -> value2 ...)

    Encoding of Map[keyType, valueType](key1 -> value1, key2 -> value2 ...)

    Definition Classes
    Expressions
  42. sealed case class FiniteSet(elements: Seq[Trees.Expr], base: Trees.Type) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of Set[base](elements)

    Encoding of Set[base](elements)

    Definition Classes
    Expressions
  43. abstract class Flag extends Trees.Printable

    Permalink

    Represents source code annotations and some other meaningful flags.

    Represents source code annotations and some other meaningful flags.

    In order to enable transformations on Flag instances, there is an implicit contract on args such that for each argument, either

    arg: Expr | Type

    , or there exists no Expr or Type instance within arg. arg: Expr | Type }}} or Type instance within arg.

    Definition Classes
    Definitions
  44. implicit class FlagSetWrapper extends AnyRef

    Permalink
    Definition Classes
    Definitions
  45. sealed case class Forall(args: Seq[Trees.ValDef], body: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of forall(...) (universal quantification)

    Encoding of forall(...) (universal quantification)

    Definition Classes
    Expressions
  46. sealed case class FractionLiteral(numerator: BigInt, denominator: BigInt) extends Trees.Literal[(BigInt, BigInt)] with Product with Serializable

    Permalink

    Encoding of a fraction literal

    Encoding of a fraction literal

    Definition Classes
    Expressions
  47. class FunDef extends Tree with Trees.Definition

    Permalink

    Function definition

    Function definition

    Definition Classes
    Definitions
  48. sealed case class FunctionInvocation(id: Identifier, tps: Seq[Trees.Type], args: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of function(...) (function invocation)

    Encoding of function(...) (function invocation)

    Definition Classes
    Expressions
  49. case class FunctionLookupException(id: Identifier) extends Trees.LookupException with Product with Serializable

    Permalink
    Definition Classes
    Definitions
  50. sealed case class FunctionType(from: Seq[Trees.Type], to: Trees.Type) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  51. sealed case class GenericValue(tp: Trees.TypeParameter, id: Int) extends Trees.Expr with Trees.Terminal with Product with Serializable

    Permalink

    Generic values.

    Generic values. Represent values of the generic type tp. This is useful e.g. to present counterexamples of generic types.

    Definition Classes
    Expressions
  52. sealed case class GreaterEquals(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... >= ...

    Encoding of ... >= ...

    Definition Classes
    Expressions
  53. sealed case class GreaterThan(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... > ...

    Encoding of ... > ...

    Definition Classes
    Expressions
  54. sealed case class HasADTEquality(id: Identifier) extends Trees.Flag with Product with Serializable

    Permalink

    Denotes that this adt has an overriden equality relation given by id

    Denotes that this adt has an overriden equality relation given by id

    Definition Classes
    Definitions
  55. sealed case class HasADTInvariant(id: Identifier) extends Trees.Flag with Product with Serializable

    Permalink

    Denotes that this adt is refined by invariant id

    Denotes that this adt is refined by invariant id

    Definition Classes
    Definitions
  56. trait IdentitySymbolTransformer extends SymbolTransformer

    Permalink
    Definition Classes
    TreeOps
  57. trait IdentityTreeTransformer extends Trees.SelfTreeTransformer

    Permalink
    Definition Classes
    TreeOps
  58. sealed case class IfExpr(cond: Trees.Expr, thenn: Trees.Expr, elze: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of if(...) ... else ...

    Encoding of if(...) ... else ...

    Definition Classes
    Expressions
  59. sealed case class Implies(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... ==> ... (logical implication).

    Encoding of ... ==> ... (logical implication).

    Definition Classes
    Expressions
    See also

    Constructors.implies

  60. sealed case class IntegerLiteral(value: BigInt) extends Trees.Literal[BigInt] with Product with Serializable

    Permalink

    Encoding of an infinite precision integer literal

    Encoding of an infinite precision integer literal

    Definition Classes
    Expressions
  61. case class IntegerType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  62. sealed case class IsConstructor(expr: Trees.Expr, id: Identifier) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of .isInstanceOf[...]

    Encoding of .isInstanceOf[...]

    Definition Classes
    Expressions
  63. sealed case class Lambda(args: Seq[Trees.ValDef], body: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of (args) => body

    Encoding of (args) => body

    Definition Classes
    Expressions
  64. sealed case class LessEquals(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... <= ...

    Encoding of ... <= ...

    Definition Classes
    Expressions
  65. sealed case class LessThan(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... < ...

    Encoding of ... < ...

    Definition Classes
    Expressions
  66. sealed case class Let(vd: Trees.ValDef, value: Trees.Expr, body: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of val ... = ...; ...

    Encoding of val ... = ...; ...

    vd

    The ValDef used in body, defined just after val

    value

    The value assigned to the identifier, after the = sign

    body

    The expression following the val ... = ... ; construct

    Definition Classes
    Expressions
    See also

    the let constructor

  67. sealed abstract class Literal[+T] extends Trees.Expr with Trees.Terminal

    Permalink

    Literals

    Literals

    Definition Classes
    Expressions
  68. abstract class LookupException extends Exception

    Permalink
    Definition Classes
    Definitions
  69. sealed case class MapApply(map: Trees.Expr, key: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of map.apply(key) (or map(key))

    Encoding of map.apply(key) (or map(key))

    Definition Classes
    Expressions
  70. sealed case class MapType(from: Trees.Type, to: Trees.Type) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  71. sealed case class MapUpdated(map: Trees.Expr, key: Trees.Expr, value: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of map.updated(key, value) (or map + (key -> value))

    Encoding of map.updated(key, value) (or map + (key -> value))

    Definition Classes
    Expressions
  72. sealed case class Minus(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... - ...

    Encoding of ... - ...

    Definition Classes
    Expressions
  73. sealed case class Modulo(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... mod ... (cannot return negative numbers)

    Encoding of ... mod ... (cannot return negative numbers)

    Definition Classes
    Expressions
    See also

    Expressions.Division

  74. sealed case class MultiplicityInBag(element: Trees.Expr, bag: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of bag.get(element) or bag(element)

    Encoding of bag.get(element) or bag(element)

    Definition Classes
    Expressions
  75. sealed case class Not(expr: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of !...

    Encoding of !...

    Definition Classes
    Expressions
    See also

    Constructors.not

  76. case class NotWellFormedException(d: Trees.Definition, info: Option[String] = None) extends Exception with Product with Serializable

    Permalink
    Definition Classes
    Definitions
  77. sealed case class Or(exprs: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... || ...

    Encoding of ... || ...

    exprs must contain at least two elements; if you are not sure about this, you should use the or constructor or the orJoin constructor

    Definition Classes
    Expressions
  78. sealed case class Plus(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... + ...

    Encoding of ... + ...

    Definition Classes
    Expressions
  79. trait Printable extends AnyRef

    Permalink
    Definition Classes
    Printers
  80. case class PrinterContext(current: Tree, parents: List[Tree], lvl: Int, opts: Trees.PrinterOptions, sb: StringBuffer = new StringBuffer) extends Product with Serializable

    Permalink
    Definition Classes
    Printers
  81. case class PrinterOptions(baseIndent: Int = 0, printPositions: Boolean = false, printUniqueIds: Boolean = false, printTypes: Boolean = false, symbols: Option[Trees.Symbols] = None) extends Product with Serializable

    Permalink
    Definition Classes
    Printers
  82. case class RealType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  83. sealed case class Remainder(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... % ... (can return negative numbers)

    Encoding of ... % ... (can return negative numbers)

    Definition Classes
    Expressions
    See also

    Expressions.Division

  84. type SelfTransformer = TreeTransformer { ... /* 2 definitions in type refinement */ }

    Permalink
    Definition Classes
    TreeOps
  85. trait SelfTreeTransformer extends TreeTransformer

    Permalink
    Definition Classes
    TreeOps
  86. sealed case class SetAdd(set: Trees.Expr, elem: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set + elem

    Encoding of set + elem

    Definition Classes
    Expressions
  87. sealed case class SetDifference(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set -- set2

    Encoding of set -- set2

    Definition Classes
    Expressions
  88. sealed case class SetIntersection(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set & set2

    Encoding of set & set2

    Definition Classes
    Expressions
  89. sealed case class SetType(base: Trees.Type) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  90. sealed case class SetUnion(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set ++ set2

    Encoding of set ++ set2

    Definition Classes
    Expressions
  91. sealed case class StringConcat(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs + rhs for strings

    Encoding of lhs + rhs for strings

    Definition Classes
    Expressions
  92. sealed case class StringLength(expr: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs.length for strings

    Encoding of lhs.length for strings

    Definition Classes
    Expressions
  93. sealed case class StringLiteral(value: String) extends Trees.Literal[String] with Product with Serializable

    Permalink

    Encoding of a string literal

    Encoding of a string literal

    Definition Classes
    Expressions
  94. case class StringType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  95. sealed case class SubString(expr: Trees.Expr, start: Trees.Expr, end: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of lhs.subString(start, end) for strings

    Encoding of lhs.subString(start, end) for strings

    Definition Classes
    Expressions
  96. sealed case class SubsetOf(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of set.subsetOf(set2)

    Encoding of set.subsetOf(set2)

    Definition Classes
    Expressions
  97. abstract type Symbols >: Null <: AbstractSymbols

    Permalink
    Definition Classes
    Definitions
  98. trait Terminal extends AnyRef

    Permalink

    Trait which gets mixed-in to expressions without subexpressions

    Trait which gets mixed-in to expressions without subexpressions

    Definition Classes
    Expressions
  99. sealed case class Times(lhs: Trees.Expr, rhs: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of ... * ...

    Encoding of ... * ...

    Definition Classes
    Expressions
  100. abstract class Tree extends Positioned with Serializable

    Permalink
  101. trait TreeTraverser extends AnyRef

    Permalink
    Definition Classes
    TreeOps
  102. sealed case class Tuple(exprs: Seq[Trees.Expr]) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of (..., ....) (tuple)

    Encoding of (..., ....) (tuple)

    exprs should always contain at least 2 elements. If you are not sure about this requirement, you should use the tupleWrap constructor

    exprs

    The expressions in the tuple

    Definition Classes
    Expressions
  103. sealed case class TupleSelect(tuple: Trees.Expr, index: Int) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of (tuple)._i

    Encoding of (tuple)._i

    Index is 1-based, first element of tuple is 1. If you are not sure that tuple is indeed of a TupleType, you should use one of the SymbolOps.tupleSelect(t:SymbolOps\.this\.trees\.Expr,index:Int,originalSize:Int)* SymbolOps.tupleSelect(t:SymbolOps\.this\.trees\.Expr,index:Int,isTuple:Boolean)* constructors

    Definition Classes
    Expressions
  104. sealed case class TupleType(bases: Seq[Trees.Type]) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  105. abstract class Type extends Tree with Trees.Typed

    Permalink
    Definition Classes
    Types
  106. sealed case class TypeParameter(id: Identifier, flags: Set[Trees.Flag]) extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  107. sealed class TypeParameterDef extends Tree with Trees.Definition

    Permalink
    Definition Classes
    Definitions
  108. implicit class TypeWrapper extends AnyRef

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  109. trait Typed extends Trees.Printable

    Permalink
    Definition Classes
    Types
  110. case class TypedADTConstructor extends Tree with Product with Serializable

    Permalink

    Represents an ADTConstructor whose type parameters have been instantiated to tps

    Represents an ADTConstructor whose type parameters have been instantiated to tps

    Definition Classes
    Definitions
  111. case class TypedADTSort extends Tree with Product with Serializable

    Permalink

    Represents an ADTSort whose type parameters have been instantiated to tps

    Represents an ADTSort whose type parameters have been instantiated to tps

    Definition Classes
    Definitions
  112. case class TypedFunDef extends Tree with Product with Serializable

    Permalink

    Represents a FunDef whose type parameters have been instantiated with the specified types

    Represents a FunDef whose type parameters have been instantiated with the specified types

    Definition Classes
    Definitions
  113. sealed case class UMinus(expr: Trees.Expr) extends Trees.Expr with Trees.CachingTyped with Product with Serializable

    Permalink

    Encoding of - ...

    Encoding of - ...

    Definition Classes
    Expressions
  114. sealed case class UnitLiteral() extends Trees.Literal[Unit] with Product with Serializable

    Permalink

    Encoding of the unit literal ()

    Encoding of the unit literal ()

    Definition Classes
    Expressions
  115. case class UnitType() extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  116. class Unsupported extends Exception

    Permalink
  117. sealed class ValDef extends Tree with Trees.Definition with Trees.VariableSymbol

    Permalink

    A ValDef declares a formal parameter (with symbol id) to be of a certain type.

    A ValDef declares a formal parameter (with symbol id) to be of a certain type.

    Definition Classes
    Definitions
  118. sealed case class Variable(id: Identifier, tpe: Trees.Type, flags: Set[Trees.Flag]) extends Trees.Expr with Trees.Terminal with Trees.VariableSymbol with Product with Serializable

    Permalink

    Variable

    Variable

    id

    The identifier of this variable

    Definition Classes
    Expressions
  119. abstract class VariableConverter[B <: Trees.VariableSymbol] extends AnyRef

    Permalink
    Definition Classes
    Definitions
  120. trait VariableSymbol extends Tree with Trees.Typed

    Permalink

    Common super-type for ValDef and Variable.

    Common super-type for ValDef and Variable.

    Both types share much in common and being able to reason about them in a uniform manner can be useful in certain cases.

    Attributes
    protected[inox.ast]
    Definition Classes
    Definitions

Abstract Value Members

  1. abstract val NoSymbols: Symbols

    Permalink
    Definition Classes
    Definitions
  2. abstract val printer: Printer { val trees: Trees.this.type }

    Permalink
    Definition Classes
    Printers

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object And extends Serializable

    Permalink
    Definition Classes
    Expressions
  5. object BVLiteral extends Serializable

    Permalink
    Definition Classes
    Expressions
  6. object CNF

    Permalink
    Definition Classes
    Extractors
  7. object Int16Literal

    Permalink
    Definition Classes
    Expressions
  8. object Int16Type extends Trees.BVTypeExtractor

    Permalink
    Definition Classes
    Types
  9. object Int32Literal

    Permalink
    Definition Classes
    Expressions
  10. object Int32Type extends Trees.BVTypeExtractor

    Permalink
    Definition Classes
    Types
  11. object Int64Literal

    Permalink
    Definition Classes
    Expressions
  12. object Int64Type extends Trees.BVTypeExtractor

    Permalink
    Definition Classes
    Types
  13. object Int8Literal

    Permalink
    Definition Classes
    Expressions
  14. object Int8Type extends Trees.BVTypeExtractor

    Permalink
    Definition Classes
    Types
  15. object IsTyped

    Permalink
    Definition Classes
    Extractors
  16. object NAryType extends TreeExtractor

    Permalink

    NAryType extractor to extract any Type in a consistent way.

    NAryType extractor to extract any Type in a consistent way.

    Definition Classes
    Types
    See also

    Extractors.Operator about why we can't have nice(r) things

  17. object Operator extends TreeExtractor

    Permalink

    Operator Extractor to extract any Expression in a consistent way.

    Operator Extractor to extract any Expression in a consistent way.

    You can match on any Inox Expr, and then get both a Seq[Expr] of subterms and a builder function that takes a Seq of subterms (of same length) and rebuild the original node.

    Those extractors do not perform any syntactic simplifications. They rebuild the node using the case class (not the constructor, that performs simplifications). The rational behind this decision is to have core tools for performing tree transformations that are very predictable, if one need to simplify the tree, it is easy to write/call a simplification function that would simply apply the corresponding constructor for each node.

    Definition Classes
    Extractors
  18. object Or extends Serializable

    Permalink
    Definition Classes
    Expressions
  19. object PrinterOptions extends Serializable

    Permalink
    Definition Classes
    Printers
  20. object TopLevelAnds

    Permalink
    Definition Classes
    Extractors
  21. object TopLevelOrs

    Permalink
    Definition Classes
    Extractors
  22. object TypeParameter extends Serializable

    Permalink
    Definition Classes
    Types
  23. object TypeParameterDef extends Serializable

    Permalink
    Definition Classes
    Definitions
  24. object Untyped extends Trees.Type with Product with Serializable

    Permalink
    Definition Classes
    Types
  25. object ValDef extends Serializable

    Permalink
    Definition Classes
    Definitions
  26. object Variable extends Serializable

    Permalink
    Definition Classes
    Expressions
  27. def aliased(ids1: Set[Identifier], ids2: Set[Identifier]): Boolean

    Permalink

    Returns true if the two group of identifiers ovelap.

  28. def aliased(id1: Identifier, id2: Identifier): Boolean

    Permalink
  29. def aliasedSymbols[T1 <: VariableSymbol, T2 <: VariableSymbol](vs1: Set[T1], vs2: Set[T2]): Boolean

    Permalink
  30. def and(exprs: Expr*): Expr

    Permalink

    Encoding of &&-expressions with arbitrary number of operands, and simplified.

    Encoding of &&-expressions with arbitrary number of operands, and simplified.

    Definition Classes
    Constructors
    See also

    And

  31. def andJoin(es: Seq[Expr]): Expr

    Permalink

    Encoding of &&-expressions with arbitrary number of operands as a sequence, and simplified.

    Encoding of &&-expressions with arbitrary number of operands as a sequence, and simplified.

    Definition Classes
    Constructors
    See also

    And

  32. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  33. def asString(obj: Any)(implicit opts: PrinterOptions): String

    Permalink
    Definition Classes
    Printers
  34. def assume(pred: Expr, body: Expr): Expr

    Permalink

    Encoding of simplified assume(pred, body) (assumption).

    Encoding of simplified assume(pred, body) (assumption). Transforms

    assume(assume(pred1, pred2), body)

    and

    assume(pred1, assume(pred2, body))

    into

    assume(pred1 && pred2, body)
    Definition Classes
    Constructors
    See also

    Assume

  35. final def checkAllTypes(real: Seq[Typed], formal: Typed, result: ⇒ Type)(implicit s: Symbols): Type

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  36. final def checkParamType(real: Typed, formal: Typed, result: ⇒ Type)(implicit s: Symbols): Type

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  37. final def checkParamTypes(real: Seq[Typed], formal: Seq[Typed], result: ⇒ Type)(implicit s: Symbols): Type

    Permalink
    Attributes
    protected
    Definition Classes
    Types
  38. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def constructorType(tcons: TypedADTConstructor): Type

    Permalink
    Attributes
    protected
    Definition Classes
    Expressions
  40. implicit def convertToVal: VariableConverter[ValDef]

    Permalink
    Definition Classes
    Definitions
  41. implicit def convertToVariable: VariableConverter[Variable]

    Permalink
    Definition Classes
    Definitions
  42. val deconstructor: TreeDeconstructor { ... /* 2 definitions in type refinement */ }

    Permalink
    Definition Classes
    Extractors
  43. val dsl: DSL { val trees: Trees.this.type }

    Permalink
  44. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  45. def equality(a: Expr, b: Expr): Expr

    Permalink

    Encoding of simplified ... == ... (equality).

    Encoding of simplified ... == ... (equality).

    Definition Classes
    Constructors
    See also

    Equals

  46. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  47. val exprOps: ExprOps { val trees: Trees.this.type }

    Permalink
  48. def extractFlag(name: String, args: Seq[Any]): Flag

    Permalink
    Definition Classes
    Definitions
  49. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. def forall(args: Seq[ValDef], body: Expr): Expr

    Permalink

    Encoding of simplified forall(args, body) (universal quantification).

    Encoding of simplified forall(args, body) (universal quantification).

    Definition Classes
    Constructors
    See also

    Forall

  51. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  52. def getDeconstructor(that: Trees): TreeDeconstructor { ... /* 2 definitions in type refinement */ }

    Permalink
    Definition Classes
    Extractors
  53. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  54. def implies(lhs: Expr, rhs: Expr): Expr

    Permalink

    Encoding of simplified ... ==> ... (implication)

    Encoding of simplified ... ==> ... (implication)

    Definition Classes
    Constructors
    See also

    Implies

  55. def interpolator(implicit ss: Symbols): Interpolator { ... /* 2 definitions in type refinement */ }

    Permalink
  56. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  57. def minus(lhs: Expr, rhs: Expr): Expr

    Permalink

    Encoding of simplified ... - ... (minus).

    Encoding of simplified ... - ... (minus).

    Definition Classes
    Constructors
    See also

    Minus

  58. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  59. def not(e: Expr): Expr

    Permalink

    Encoding of simplified !-expressions .

    Encoding of simplified !-expressions .

    Definition Classes
    Constructors
    See also

    Not

  60. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  61. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  62. def or(exprs: Expr*): Expr

    Permalink

    Encoding of ||-expressions with arbitrary number of operands, and simplified.

    Encoding of ||-expressions with arbitrary number of operands, and simplified.

    Definition Classes
    Constructors
    See also

    Or

  63. def orJoin(es: Seq[Expr]): Expr

    Permalink

    Encoding of ||-expressions with arbitrary number of operands as a sequence, and simplified.

    Encoding of ||-expressions with arbitrary number of operands as a sequence, and simplified.

    Definition Classes
    Constructors
    See also

    Or

  64. def plus(lhs: Expr, rhs: Expr): Expr

    Permalink

    Encoding of simplified ... + ... (plus).

    Encoding of simplified ... + ... (plus).

    Definition Classes
    Constructors
    See also

    Plus

  65. def prettyPrint(tree: Tree, opts: PrinterOptions = PrinterOptions()): String

    Permalink
    Definition Classes
    Printers
  66. def simpForall(args: Seq[ValDef], body: Expr): Expr

    Permalink
    Definition Classes
    Constructors
  67. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  68. def times(lhs: Expr, rhs: Expr): Expr

    Permalink

    Encoding of simplified ... * ... (times).

    Encoding of simplified ... * ... (times).

    Definition Classes
    Constructors
    See also

    Times

  69. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  70. def tupleTypeWrap(tps: Seq[Type]): Type

    Permalink

    Wraps the sequence of types as a tuple.

    Wraps the sequence of types as a tuple. If the sequence contains a single type, it is returned instead. If the sequence is empty, the UnitType is returned.

    Definition Classes
    Constructors
    See also

    Types.TupleType

  71. def tupleWrap(es: Seq[Expr]): Expr

    Permalink

    Wraps the sequence of expressions as a tuple.

    Wraps the sequence of expressions as a tuple. If the sequence contains a single expression, it is returned instead.

    Definition Classes
    Constructors
    See also

    Tuple

  72. object typeOps extends GenTreeOps

    Permalink
    Definition Classes
    Types
  73. def uminus(e: Expr): Expr

    Permalink
    Definition Classes
    Constructors
  74. def unwrapTuple(e: Expr, expectedSize: Int)(implicit s: Symbols): Seq[Expr]

    Permalink
    Definition Classes
    Extractors
  75. def unwrapTuple(e: Expr, isTuple: Boolean)(implicit s: Symbols): Seq[Expr]

    Permalink
    Definition Classes
    Extractors
  76. def unwrapTupleType(tp: Type, expectedSize: Int): Seq[Type]

    Permalink
    Definition Classes
    Extractors
  77. def unwrapTupleType(tp: Type, isTuple: Boolean): Seq[Type]

    Permalink
    Definition Classes
    Extractors
  78. implicit def variableSymbolOrdering[VS <: VariableSymbol]: Ordering[VS]

    Permalink
    Definition Classes
    Definitions
  79. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from TreeOps

Inherited from Printers

Inherited from Definitions

Inherited from Types

Inherited from Extractors

Inherited from Constructors

Inherited from Expressions

Inherited from AnyRef

Inherited from Any

Ungrouped