Object

at.logic.gapt.formats.babel

ast

Related Doc: package babel

Permalink

object ast

Intermediate representation for expressions parsed by Babel.

This representation is intended to be as simple as possible, all higher-level constructs (such as <-> or ∀) are already desugared into simply-typed lambda terms.

It differs from the "real" lambda calculus in at.logic.gapt.expr in three major ways:

  1. There are type variables.
  2. There are type annotations.
  3. Free variables, bound variables, and constants are not distinguished; they are all stored as "identifiers".
Source
ast.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ast
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Abs(v: Ident, sub: Expr) extends Expr with Product with Serializable

    Permalink
  2. case class App(a: Expr, b: Expr) extends Expr with Product with Serializable

    Permalink
  3. case class ArrType(a: Type, b: Type) extends Type with Product with Serializable

    Permalink
  4. case class BaseType(name: String) extends Type with Product with Serializable

    Permalink
  5. sealed trait Expr extends AnyRef

    Permalink
  6. case class Ident(name: String, ty: Type) extends Expr with Product with Serializable

    Permalink
  7. case class Lifted(e: LambdaExpression, ty: Type, fvs: Map[String, Type]) extends Expr with Product with Serializable

    Permalink
  8. sealed trait Type extends AnyRef

    Permalink
  9. case class TypeAnnotation(expr: Expr, ty: Type) extends Expr with Product with Serializable

    Permalink
  10. case class TypeVar(idx: TypeVarIdx) extends Type with Product with Serializable

    Permalink
  11. class TypeVarIdx extends AnyRef

    Permalink
  12. type UnificationError = String

    Permalink

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. def All: (Ident, Expr) ⇒ Expr

    Permalink
  5. def And: (Expr, Expr) ⇒ Expr

    Permalink
  6. def Bicond(a: Expr, b: Expr): Expr

    Permalink
  7. def BinaryConn(c: MonomorphicLogicalC): (Expr, Expr) ⇒ Expr

    Permalink
  8. def Bool: BaseType

    Permalink
  9. def Bottom: Lifted

    Permalink
  10. def Eq(a: Expr, b: Expr): App

    Permalink
  11. def Ex: (Ident, Expr) ⇒ Expr

    Permalink
  12. def Imp: (Expr, Expr) ⇒ Expr

    Permalink
  13. def LiftBlackbox(e: LambdaExpression): Lifted

    Permalink
  14. def LiftWhitebox(e: LambdaExpression): Lifted

    Permalink
  15. def Neg: (Expr) ⇒ Expr

    Permalink
  16. def Or: (Expr, Expr) ⇒ Expr

    Permalink
  17. def Quant(name: String): (Ident, Expr) ⇒ Expr

    Permalink
  18. def Top: Lifted

    Permalink
  19. def UnaryConn(c: MonomorphicLogicalC): (Expr) ⇒ Expr

    Permalink
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. def clone(): AnyRef

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

    Permalink
    Definition Classes
    AnyRef
  23. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  24. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. def freeIdentifers(expr: Expr): Set[String]

    Permalink
  26. def freeVars(t: Type): Set[TypeVarIdx]

    Permalink
  27. def freshTypeVar(): TypeVar

    Permalink
  28. def gensym(): TypeVarIdx

    Permalink
  29. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  30. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  31. def infer(expr: Expr, env: Map[String, Type], s0: Map[TypeVarIdx, Type]): \/[UnificationError, (Map[TypeVarIdx, Type], Type)]

    Permalink
  32. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  33. def liftType(t: Ty): Type

    Permalink
  34. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  35. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  37. val polymorphic: Set[String]

    Permalink
  38. def printCtx(eqs: List[(Type, Type)], assg: Map[TypeVarIdx, Type]): String

    Permalink
  39. def readable(e: Expr): String

    Permalink
  40. def readable(t: Type): String

    Permalink
  41. def solve(eqs: List[(Type, Type)], assg: Map[TypeVarIdx, Type]): \/[UnificationError, Map[TypeVarIdx, Type]]

    Permalink
  42. def subst(t: Type, assg: Map[TypeVarIdx, Type]): Type

    Permalink
  43. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  44. def toRealExpr(expr: Expr, sig: BabelSignature): \/[UnificationError, LambdaExpression]

    Permalink
  45. def toRealExpr(expr: Expr, assg: Map[TypeVarIdx, Type], bound: Set[String]): LambdaExpression

    Permalink
  46. def toRealType(ty: Type, assg: Map[TypeVarIdx, Type]): Ty

    Permalink
  47. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  48. final def wait(): Unit

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

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

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

Inherited from AnyRef

Inherited from Any

Ungrouped