Packages

object Theory extends OperationCollection

Source
Theory.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Theory
  2. OperationCollection
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class Ops extends AnyRef
    Attributes
    protected[isabelle]

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def Ops(implicit isabelle: Isabelle, ec: ExecutionContext): Ops

    Returns an instance of type Ops.

    Returns an instance of type Ops. It is guaranteed that for each instance isabelle, exactly one instance of Obs is created (using the ec from the first such invocation). (If you see this doc string in a class different from OperationCollection but no definition of the class Ops, treat this function as if it was private.)

    Definition Classes
    OperationCollection
  5. def apply(path: Path)(implicit isabelle: Isabelle, ec: ExecutionContext): Theory

    Retrieves a theory located at the path path.

    Retrieves a theory located at the path path.

    The path is interpreted relative to the Isabelle working directory (Isabelle.Setup.workingDirectory).

    If path ends in X.thy, the theory will have the fully qualified name Draft.X.

    Unqualified imports of the theory X are searched for in the same directory. Qualified imports must be findable according to the rules specified in apply(String).

  6. def apply(name: String)(implicit isabelle: Isabelle, ec: ExecutionContext): Theory

    Retrieves a theory by its name.

    Retrieves a theory by its name. E.g., Theory("HOL-Analysis.Inner_Product").

    name must be the fully qualified name of the theory (with exception of "global theories" which have no qualifier, e.g., Pure, Main, Complex_Main, ...).

    For a theory to be found, it needs to be included in the current session image (specified via the logic parameter in Isabelle.Setup), or the directory containing its that theory's session must be configured via registerSessionDirectoriesNow. The same requirements apply to all theories imported by the theory name. (I.e., all theories required to execute name must be either in the session image or registered via registerSessionDirectoriesNow.) ROOT and ROOTS are not taken into account for finding the theories.

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. def init()(implicit isabelle: Isabelle, executionContext: ExecutionContext): Unit

    Makes sure an Ops instance for the instance isabelle is initialized.

    Makes sure an Ops instance for the instance isabelle is initialized. This is useful when code needs to be sure that the global initialization inside the Ops class has happened (e.g., declarations of ML types via Isabelle.executeMLCodeNow) even if it does not access any of the fields in the Ops class.

    Can safely be called several times with the same isabelle and/or executionContext.

    Definition Classes
    OperationCollection
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. def newOps(implicit isabelle: Isabelle, ec: ExecutionContext): Ops

    Should construct an instance of type Ops

    Should construct an instance of type Ops

    Attributes
    protected
    Definition Classes
    TheoryOperationCollection
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def registerSessionDirectories(paths: (String, Path)*)(implicit isabelle: Isabelle, ec: ExecutionContext): Future[Unit]

    Like registerSessionDirectoriesNow but returns a Future.

    Like registerSessionDirectoriesNow but returns a Future. Only once the future completes successfully, the session directories are guaranteed to have been registered.

  20. def registerSessionDirectoriesNow(paths: (String, Path)*)(implicit isabelle: Isabelle, ec: ExecutionContext): Unit

    Registers session directories.

    Registers session directories.

    Each Isabelle session (such as HOL, HOL-Library, FOL, ...) has one (or several) associated session directories that contain the theory files. (E.g., the session directory of HOL is .../src/HOL, and thus the theory HOL.List is found in .../src/HOL/List.thy.) The session directories are configured in Isabelle via the ROOT and ROOTS files. Currently, however, scala-isabelle cannot read the ROOT(S) files. Instead, session directories need to be registered with this function.

    More specifically:

    • When Isabelle loads a theory X.Y, and X.Y is in contained the session image (configured with Isabelle.Setup.logic), then the theory contained in the session image is used. (Conflicting session directory specifications will be ignored.)
    • Otherwise, the session directory D for X is looked up, and the file D/Y.thy is read.
    • Otherwise Y.thy in the current directory is opened.
    • When a theory file is read, resolution of the imports of that theory is done the same way.
    • One session can have several session directories, but one session directory must not be shared by several sessions
    paths

    Pairs (session, dir). Meaning that dir is a session directory for session.

    See also

    Theory.apply(String)

  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  26. object TheoryConverter extends Converter[Theory]

    Representation of theories in ML.

    Representation of theories in ML. (See the general discussion of Context, the same things apply to Theory.)

    • ML type: theory
    • Representation of theory thy as an exception: E_Theory thy

    (E_Theory is automatically declared when needed by the ML code in this package. If you need to ensure that it is defined for compiling own ML code, invoke Theory.init.)

    Available as an implicit value by importing de.unruh.isabelle.pure.Implicits._

Deprecated Value Members

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

Inherited from OperationCollection

Inherited from AnyRef

Inherited from Any

Ungrouped