Trait/Object

at.logic.gapt.proofs

Context

Related Docs: object Context | package proofs

Permalink

trait Context extends BabelSignature

Captures constants, types, definitions, and background theory used in a proof.

There are several inferences in our LK proofs for which it is not enough that are syntactically valid: An induction inference might follow the syntactical scheme of an induction inference and satisfy the eigenvariable criterion, however if it excludes a constructor of the inductive type, then it still allows us to prove non-theorems. The same is also true for definition rules and theory axioms.

Hence we store all information necessary to validate these inferences inside a Context object. For completeness, it also includes the collection of constant symbols.

TODO: implement validation

Having this information available is also important for a second reason: it allows us make decisions based on the current context:

Source
Context.scala
Linear Supertypes
Known Subclasses
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Context
  2. BabelSignature
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def constant(name: String): Option[Const]

    Permalink

    Returns Some(const) if name is a constant.

  2. abstract def definition(name: String): Option[LambdaExpression]

    Permalink

    Returns Some(expandedDefinition) if name is a defined constant.

  3. abstract def theory(clause: HOLClause): Option[LKProof]

    Permalink

    Returns Some(lkProof) if clause is valid modulo the background theory.

    Returns Some(lkProof) if clause is valid modulo the background theory.

    lkProof should end in a minimal sub-sequent of clause that is still valid.

  4. abstract def typeDef(name: String): Option[TypeDef]

    Permalink

    Returns Some(typeDef) if name is a base type.

Concrete Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to any2stringadd[Context] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Context, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to ArrowAssoc[Context] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def apply(s: String): VarConst

    Permalink

    Decides whether the symbol with the given identifier should be a variable or constant, and what its type should be.

    Decides whether the symbol with the given identifier should be a variable or constant, and what its type should be.

    s

    The name of the symbol.

    returns

    Either IsVar(type) or IsConst(type).

    Definition Classes
    ContextBabelSignature
  7. final def asInstanceOf[T0]: T0

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def ensuring(cond: (Context) ⇒ Boolean, msg: ⇒ Any): Context

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to Ensuring[Context] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: (Context) ⇒ Boolean): Context

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to Ensuring[Context] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean, msg: ⇒ Any): Context

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to Ensuring[Context] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean): Context

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to Ensuring[Context] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. final def eq(arg0: AnyRef): Boolean

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

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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to StringFormat[Context] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  17. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  18. def getType(s: String): Type

    Permalink

    Returns the type of the symbol with the given identifier.

    Returns the type of the symbol with the given identifier.

    s

    The name of the symbol.

    Definition Classes
    BabelSignature
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. def isVar(s: String): Boolean

    Permalink

    Returns true iff the symbol with the given identifier is a variable.

    Returns true iff the symbol with the given identifier is a variable.

    s

    The name of the symbol.

    Definition Classes
    BabelSignature
  22. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. def typeDef(ty: TBase): Option[TypeDef]

    Permalink
  28. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. def [B](y: B): (Context, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Context to ArrowAssoc[Context] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from BabelSignature

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Context to any2stringadd[Context]

Inherited by implicit conversion StringFormat from Context to StringFormat[Context]

Inherited by implicit conversion Ensuring from Context to Ensuring[Context]

Inherited by implicit conversion ArrowAssoc from Context to ArrowAssoc[Context]

Ungrouped