Packages

final class Cterm extends Term

Represents a cterm in Isabelle. In Isabelle, a cterm must be explicitly converted into a term. In contrast, this class inherits from Term, so no explicit conversions are needed. (They happen automatically on demand.) A Cterm is always well-typed relative to the context for which it was created (this is ensured by the Isabelle trusted core).

Source
Term.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Cterm
  2. Term
  3. FutureValue
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def $(that: Term)(implicit ec: ExecutionContext): 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
    CtermFutureValue
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  8. lazy val concrete: ConcreteTerm

    Transforms this term into a ConcreteTerm.

    Transforms this term into a ConcreteTerm. A ConcreteTerm guarantees that the type of the term (App,Const,Abs...) corresponds to the top-level constructor on Isabelle side ($, Const, Abs, ...).

    Definition Classes
    CtermTerm
  9. def concreteComputed: Boolean

    Indicates whether concrete has already been initialized.

    Indicates whether concrete has already been initialized. (I.e., whether it can be accessed without delay and without incurring communication with the Isabelle process.

    Definition Classes
    CtermTerm
  10. val ctermMlValue: MLValue[Cterm]
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. 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.)

    Definition Classes
    Term → AnyRef → Any
  13. def force: Cterm.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
    CtermFutureValue
  14. def forceFuture(implicit ec: ExecutionContext): Future[Cterm.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
  15. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def hashCode(): Int

    Hash code compatible with equals.

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

    Definition Classes
    CtermTerm → AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. implicit val isabelle: Isabelle

    Isabelle instance relative to which this term was constructed.

    Isabelle instance relative to which this term was constructed.

    Definition Classes
    CtermTerm
  19. lazy val mlValue: MLValue[Term]

    Returns this term as an MLValue[Term] (not MLValue[Cterm]).

    Returns this term as an MLValue[Term] (not MLValue[Cterm]). The difference is crucial because MLValue[_] is not covariant. So for invoking ML functions that expect an argument of type term, you need to get an MLValue[Term]. In contrast, ctermMlValue returns this term as an MLValue[Cterm].

    Definition Classes
    CtermTerm
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. def pretty(ctxt: Context)(implicit ec: ExecutionContext): String

    Produces a string representation of this term.

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

    ctxt

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

    Definition Classes
    CtermTerm
  24. def 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
    CtermFutureValue
  25. 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
  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. 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
    CtermTerm → AnyRef → Any
    See also

    pretty for pretty printed terms

  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

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

Inherited from Term

Inherited from FutureValue

Inherited from AnyRef

Inherited from Any

Ungrouped