Packages

final class Abs extends ConcreteTerm

A lambda abstraction (ML constructor Abs). name is the name of the bound variable, typ is the type of the bound variable, and body is the body of the lambda abstraction.

E.g., λx. x would be represented as Abs("x",typ, Bound(0)) for suitable typ.

Note that name is for informative purposes only (i.e., it has no logical relevance) since deBrujn indices are used. name can even be "".

Source
Term.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Abs
  2. ConcreteTerm
  3. Term
  4. PrettyPrintable
  5. FutureValue
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def $(that: Term): App

    t $ u is shorthand for App(t,u)

    t $ u is shorthand for App(t,u)

    Definition Classes
    Term
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def await: Unit

    Blocks until this future value is computed.

    Blocks until this future value is computed. (Or throws an exception if the computation fails.)

    Definition Classes
    AbsFutureValue
  7. val body: Term
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  9. def computeMlValue: MLValue[Term]
    Attributes
    protected
    Definition Classes
    AbsTerm
  10. val concrete: Abs.this.type

    returns

    this

    Definition Classes
    ConcreteTermTerm
  11. def concreteComputed: Boolean

    returns

    true

    Definition Classes
    ConcreteTermTerm
    Annotations
    @inline()
  12. def concreteRecursive: Abs

    Transforms this term into a ConcreteTerm (see concrete).

    Transforms this term into a ConcreteTerm (see concrete). In contrast to concrete, it also replaces all subterms by concrete subterms.

    Definition Classes
    AbsTerm
  13. def disconnectFromIsabelle(): Unit

    Forgets the MLValue associated with this term.

    Forgets the MLValue associated with this term. Note that the method mlValue will automatically create a new one when invoked. Will be ignored for MLValueTerms (because those cannot recover the term structure without the MLValue)

    Definition Classes
    Term
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. final def equals(that: Any): Boolean

    Equality of terms.

    Equality of terms. Returns true iff the two Term instances represent the same term in the Isabelle process. (E.g., a Cterm and a Const can be equal.) May throw an exception if the computation of the terms fails. (But will not fail if await or a related FutureValue method has returned successfully on both terms.)

    As a side effect, comparing two terms makes their mlValues equal (if the equality test returned true). This means that comparing terms can reduce memory use on the Isabelle side (because duplicate terms are released), and future equality checks will be faster. Note: if both compared values already have ML Values, then the one from this will be copied to that (so the order matters).

    Definition Classes
    Term → AnyRef → Any
  16. final def fastType: Typ

    Returns the type of this term, assuming the term is well-typed.

    Returns the type of this term, assuming the term is well-typed. (The function does not verify whether the term is indeed well-typed. If it is not, no guarantee is made what type is returned.)

    This method is analogous to fastype_of in Isabelle/ML but avoids transferring the term to/from Isabelle when determining the type.

    Definition Classes
    Term
  17. def force: Abs.this.type

    Waits till the computation of this value (in the Isabelle process) has finished.

    Waits till the computation of this value (in the Isabelle process) has finished. (Or until an exception is thrown.)

    returns

    this value, but it is guaranteed to have completed the computation

    Definition Classes
    FutureValue
  18. def forceFuture(implicit isabelle: Isabelle): Future[Abs.this.type]

    A future containing this object with the computation completed.

    A future containing this object with the computation completed. In particular, if this value throws an exception upon computation, the future holds that exception.

    Roughly the same as Future { this.force }.

    Definition Classes
    FutureValue
  19. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  20. def hashCode(): Int

    Hash code compatible with equals.

    Hash code compatible with equals. May fail with an exception, see equals.

    Definition Classes
    AbsTerm → AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. implicit val isabelle: Isabelle

    Isabelle instance relative to which this term was constructed.

    Isabelle instance relative to which this term was constructed.

    Definition Classes
    AbsTerm
  23. final def mlValue: MLValue[Term]

    Transforms this term into an MLValue containing this term.

    Transforms this term into an MLValue containing this term. This causes transfer of the term to Isabelle only the first time it is accessed (and not at all if the term came from the Isabelle process in the first place).

    The MLValue can change over time but will always be an MLValue for an equal term.

    Definition Classes
    Term
  24. final def mlValueLoaded: Boolean

    Is an mlValue currently available without computation?

    Is an mlValue currently available without computation?

    Definition Classes
    Term
  25. val name: String
  26. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  27. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  28. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  29. final def peekMlValue: Option[MLValue[Term]]

    Same as mlValue but may return None if no MLValue is currently available.

    Same as mlValue but may return None if no MLValue is currently available. (Does not trigger any computation.)

    Definition Classes
    Term
  30. def pretty(ctxt: Context, symbols: Symbols = Symbols.globalInstance): String

    Produces a string representation of this object.

    Produces a string representation of this object. Uses the Isabelle pretty printer.

    ctxt

    The Isabelle proof context to use (this contains syntax declarations etc.)

    symbols

    Instance of Symbols for converting to Unicode. Default: global default instance Symbols.globalInstance. Use prettyRaw to avoid conversion to Unicode.

    Definition Classes
    PrettyPrintable
    Annotations
    @NotNull()
  31. def prettyRaw(ctxt: Context): String

    Produces a string representation of this object.

    Produces a string representation of this object. Uses the Isabelle pretty printer. Does not convert to Unicode, i.e., the return value will contain substrings such as \<forall>)

    ctxt

    The Isabelle proof context to use (this contains syntax declarations etc.)

    Definition Classes
    TermPrettyPrintable
  32. lazy val someFuture: Future[Any]

    Returns a future that completes when the computation of this object is complete.

    Returns a future that completes when the computation of this object is complete. (Or that holds an exception if that computation throws an exception.) However, upon successful completion, the future may return an arbitrary (and thus useless) value. May be faster to implement than forceFuture because there may be already a future available but that returns the wrong value.

    Definition Classes
    AbsFutureValue
  33. def stateString: String

    A utility method that returns "" if this value was successfully computed, " (computing)" if it still computes, and " (failed)" if it finished with an exception.

    A utility method that returns "" if this value was successfully computed, " (computing)" if it still computes, and " (failed)" if it finished with an exception.

    This can be useful to constructing human readable messages about this value.

    Definition Classes
    FutureValue
  34. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  35. def toString: String

    Produces a string representation of this term.

    Produces a string representation of this term.

    This is not a "pretty" representation, it does not use Isabelle syntax, and subterms that are stored only in the Isabelle process are replaced with a placeholder (thus this method does not invoke any potentially communication with the Isabelle process).

    Definition Classes
    AbsTerm → AnyRef → Any
    See also

    pretty for pretty printed terms

  36. val typ: Typ
  37. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  39. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from ConcreteTerm

Inherited from Term

Inherited from PrettyPrintable

Inherited from FutureValue

Inherited from AnyRef

Inherited from Any

Ungrouped