info.hupel.isabelle

System

final class System extends AnyRef

A running instance of a prover.

This class is thread-safe, that is, running multiple operations at the same time is expected and safe.

See also

info.hupel.isabelle.setup.Setup

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. System
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

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

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def dispose: Future[Unit]

    Instruct the prover to shutdown.

    Instruct the prover to shutdown.

    Includes unchecked cancellation of all running operations by virtue of the system shutting down completely. Pending futures will not be marked as failed.

    It is recommended to wait for all pending futures to complete, or call cancel on them before shutdown. It is guaranteed that when the returned future succeeds, the prover has been shut down.

    Calling anything after dispose is undefined. The object should not be used afterwards.

    Depending on the implementation details of the environment used to create this system, it may be unneccessary to call this method. In any case, it is good practice to call it.

    See also

    executionContext

  9. val env: Environment

  10. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  12. implicit val executionContext: ExecutionContext

    The execution context used internally for bi-directional communication with the prover.

    The execution context used internally for bi-directional communication with the prover.

    Guaranteed to be the same execution context as the execution context of the environment used to create this system.

    It is fine to use this execution context for other purposes, for example to transform the futures produced by invoking operations.

    Since it is marked as implicit, it can be readily imported and used.

    See also

    dispose

  13. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  16. def invoke[I, O](operation: Operation[I, O])(arg: I): CancelableFuture[ProverResult[O]]

    Invoke an operation on the prover, that is, encode the input argument, send it to the prover and stream the results to the observer of the operation.

    Invoke an operation on the prover, that is, encode the input argument, send it to the prover and stream the results to the observer of the operation.

    The observer is automatically instantiated with the underlying environment specified when creating the system.

    The returned future gets fulfilled when the observer transitions into either Success or Failure state.

    In addition to that, the transaction can be cancelled via the cancel method of the CancelableFuture. Cancellation entails marking the future as failed and signalling the prover that the operation should be interrupted.

    Any well-formed response, even if it is an "error", is treated as a success. Only ill-formed responses, e.g. due to decoding errors, will mark the future as failed. Custom observers may deviate from this, but it is generally safe to assume that a failed future represents an internal error (e.g. due to a wrong codec), whereas a successful future may contain expected errors (e.g. due to a wrong input argument or a failing proof).

  17. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  21. def run[A](prog: Program[A], thyName: String): Future[A]

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

    Definition Classes
    AnyRef
  23. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped