Package

info.hupel

isabelle

Permalink

package isabelle

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. isabelle
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class CancelableFutureOps[A] extends AnyRef

    Permalink
  2. trait Codec[T] extends AnyRef

    Permalink

    A type class representing the ability to convert a type to and from an XML representation.

    A type class representing the ability to convert a type to and from an XML representation.

    For combinators to create codecs, refer to the companion object.

    Contract

    Instances of this class must satisfy the following contract: Decoding any value produced via encode must succeed, yielding the original value. The mlType field must contain a string representation of the corresponding type in Isabelle/ML.

    For the opposite direction, it is generally expected that a value which cannot be produced via encode should not decode cleanly. This is generally achieved by adding tags to the trees. For example, if the codec for type Foo for a given value would produce an XML document t before tagging, the XML document after tagging would be <tag name="foo">t</tag>. The tagged method transforms a raw codec into a tagged codec. Nested tags are allowed (for example, when chaining multiple calls of tagged), but produce additional overhead in the resulting XML documents.

  3. final case class DecodingException(msg: String, body: Body) extends RuntimeException with Product with Serializable

    Permalink

    Error case of XMLResult as an exception.

    Error case of XMLResult as an exception.

    When decoding an XML tree sent from the prover fails, this exception is fed into the corresponding observer.

  4. final class GenericEnvironment extends Environment

    Permalink
  5. type HTML = TypedTag[String]

    Permalink
  6. sealed trait Instruction[A] extends AnyRef

    Permalink
  7. final case class Model(env: Environment, regions: Map[Path, Regions] = Map.empty) extends Product with Serializable

    Permalink
  8. sealed abstract class Observer[+T] extends AnyRef

    Permalink

    An iteratee-like structure consuming XML trees and eventually producing an output of type T, or an error.

    An iteratee-like structure consuming XML trees and eventually producing an output of type T, or an error.

    On a high level, this can be imagined like a function taking a list of trees as an argument. In most cases, user code does not care about the intermediate results. For that, combinators exist in the companion object and Operation.

    See also

    info.hupel.isabelle.Operation

    info.hupel.isabelle.System#invoke

  9. sealed abstract class OfficialPlatform extends Platform

    Permalink

    A Platform with known archive location.

    A Platform with known archive location.

    Official platforms can be installed and bootstrapped automatically via the appropriate methods in Setup.

  10. abstract class Operation[-I, +O] extends AnyRef

    Permalink

    Description of an atomic interaction with the prover.

    Description of an atomic interaction with the prover.

    An operation can be roughly seen as a remote procedure call: a method name, an input argument of type I and an output value of type O, potentially accompanied by a stream of auxiliary data. (For almost all use cases, the latter is irrelevant.)

    Data is transferred between JVM and the prover using XML trees. To convert between typed data and their XML representation, codecs may be used.

    In the most general case, an operation listens for a stream of output from the prover using an observer, comparable to iteratees.

    Operations can most easily be constructed with the implicitly combinator. That combinator will only wait for final results and ignore intermediate data.

    See also

    System#invoke

  11. sealed abstract class Platform extends AnyRef

    Permalink

    The underlying operating system platform with knowlege of a local storage path.

    The underlying operating system platform with knowlege of a local storage path.

    It is recommended to obtain instances via the companion object.

  12. type Program[A] = Free[Instruction, A]

    Permalink
  13. trait ProverResult[+T] extends AnyRef

    Permalink

    Result from the prover.

    Result from the prover.

    In the error case, a special ProverException will be provided.

    See also

    info.hupel.isabelle.System#invoke

  14. final case class Range(start: Int, end: Int) extends Product with Serializable

    Permalink
  15. final case class Region(range: Range, markup: Vector[Markup], body: Vector[Tree], subRegions: Regions = Regions.empty) extends Product with Serializable

    Permalink
  16. final case class Regions(items: List[Region]) extends Product with Serializable

    Permalink
  17. final case class Reports(items: Vector[Tree]) extends Product with Serializable

    Permalink
  18. final class System extends AnyRef

    Permalink

    A running instance of a prover.

    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

  19. type XMLResult[+A] = Either[(String, Body), A]

    Permalink

    The result type for decoding values from XML trees.

    The result type for decoding values from XML trees. Failure values should contain an error message and a list of erroneous trees.

Value Members

  1. object Codec

    Permalink

    Combinators for codecs.

  2. object GenericEnvironment

    Permalink
  3. object Instruction

    Permalink
  4. object Observer

    Permalink

    Cases of observers and combinators.

  5. object Operation

    Permalink

    Combinators for creating operations and basic operations.

  6. object Platform

    Permalink

    Detection of the machine's platform.

  7. object Program extends Serializable

    Permalink
  8. object ProverResult

    Permalink
  9. object Regions extends Serializable

    Permalink
  10. object Reports extends Serializable

    Permalink
  11. object System

    Permalink

    Functions to build and create systems.

  12. implicit def cancelableFutureMonad(implicit ec: ExecutionContext): Monad[CancelableFuture]

    Permalink
  13. package hol

    Permalink
  14. package internal

    Permalink
  15. package japi

    Permalink
  16. package ml

    Permalink
  17. package pure

    Permalink

    Collection of standard types for communication with Isabelle.

Inherited from AnyRef

Inherited from Any

Ungrouped