Packages

  • package root
    Definition Classes
    root
  • package info
    Definition Classes
    root
  • package kwarc
    Definition Classes
    info
  • package mmt
    Definition Classes
    kwarc
  • package api

    This is the main package of the MMT API.

    This is the main package of the MMT API.

    It holds subpackages for all data structures, data containers, and the central algorithms and services.

    Classes directly defined in the package

    Some minor classes that are used throughout MMT are defined in this package, in particular:

    • MMT URIs in the class Path and Namespace
    • processing and content errors in the class Error

    The package also contains root classes for certain types that are subclassed throughout the package. Most importantly:

    • StructuralElement: structure-level (= named) parts in the data structures for the MMT language: documents, theories, constants, ...
    • MMTTask: tasks for a single object: parsing, checking, ...
    • Rule: object-level part of the MMT language that is written in Scala

    Subpackages

    Data structures for the MMT language

    The data structures for the MMT languages are defined in 4 packages corresponding to the 4 levels: - documents: Documents and all other NarrativeElements - modules: Modules (= the toplevel declarations), in particular Theorys and Views - symbols: all Declarations inside modules, in particular Constants - objects: all anonymous Objects (e.g., formulas, functions, etc.), in particular Contexts and Terms

    The former 3 levels are jointly called 'structural' levels. All elements subclass StructuralElement, have an MMT URI, and carry an MMT URI referring to their parent in the MMT abstract syntax tree.

    Structural elements are extensible (via DerivedModules and DerivedDeclarations), and the package patterns defines declaration patterns as a built-in extension.

    All structural elements are mutable and implement the ContainerElement interface for changing their children. Objects, by contrast, are represented as immutable inductive types.(except for carrying metadata.Metadata and objects.ClientProperties). The boundary between structural elements and objects is mediated by ComponentContainers: these are mutable, owned by structural elements, and maintain objects.

    A few auxiliary data structures shifted to separate packages: - opaque: external (i.e., informal, computation) content - informal: partially outdated informal data structures - metadata: metadata annotations to all structural elements or objects

    The MMT main class and its internal state

    The package frontend contains the class Controller, which owns all state relevant for running MMT. Typically, each application creates a single instance of this class. The package also defines several other essential classes, most importantly MMT's extension (=plug-in, add-on) interfaces via the Extension class.

    The package libraries maintains the instances of MMT language data structures, in particular the Library class. Controller owns a Library, which stores all structural elements that have been loaded into memory.

    User interfaces

    The package frontend also contains the main executable classes, in particular the Shell class.

    The package gui collects all classes for building graphical user interfaces. This includes auxiliary classes for use in IDE plugins.

    The package web collects all classes for the HTTP interface of MMT.

    Physical storage of the MMT language files

    The package archives defines MMT Archives (= projects) as well as classes for building and working with archives. The latter include in particular the BuildManager and BuildTarget. Build targets include Importers and [Exporter]]s that translate between MMT and other formats.

    The package backend defines classes for maintaining archives and translating between the MMT URIs of structural elements and their physical storage locations.

    The central algorithms for processing MMT content

    The processing model of MMT consists of several major algorithms. - parser: read strings into MMT data structures - checking: check and refine MMT data structures - uom: pure computation on MMT data structures - proving: theorem proving on MMT data structures (in very early state)) - execution: imperative computation (in very, very early state) - presentation: rendering MMT data structures in user-facing formats (including HTML+presentation MathML)

    All algorithms are defined in Extensions coupled with default implementations. Moreover, all algorithms are split into two separate levels, one for structural elements and objects. See LeveledExtension.

    The package notations maintains the common code for parsing and presentation.

    The package valuebases maintains mathematical databases as a part of MMT.

    Other algorithms on the MMT data structures

    The package ontology contains a relational, semantic web-style ontology and query engine for it.

    The package moc contains change management.

    The package refactoring contains refactoring principles.

    General purpose utility functions

    The package utils defines general purpose APIs for files, URIs, HTML building, etc.

    Definition Classes
    mmt
  • package symbols

    MMT Declarations are the elements of Modules.

    MMT Declarations are the elements of Modules. The kinds of declarations are documented at Declaration.

    ObjContainer are owned by structural elements, in particular by declarations, to store objects.

    Definition Classes
    api
  • ApplyMorphism
  • ApplyMorphismLazy
  • ApplySubs
  • BoundTheoryParameters
  • Constant
  • ConstantAssignment
  • ContextContainer
  • Declaration
  • DefLinkAssignment
  • DerivedContentElement
  • DerivedDeclaration
  • DerivedModule
  • Elaboration
  • FinalConstant
  • GeneralStructuralFeature
  • GenerativePushout
  • HasDefiniens
  • HasNotation
  • HasType
  • IdentityInclude
  • IdentityTranslator
  • Include
  • IncludeData
  • IncludeLike
  • LazyConstant
  • LinkInclude
  • ModuleLevelFeature
  • NestedModule
  • OMLReplacer
  • OMSReplacer
  • ObjContainer
  • ObjDimension
  • ParametricTheoryLike
  • PlainInclude
  • Renamer
  • RuleConstant
  • RuleConstantInterpreter
  • RuleConstantParser
  • SimpleDeclaredStructure
  • SimpleLazyConstant
  • SimpleStructure
  • StructuralFeature
  • StructuralFeatureRule
  • StructuralFeatureUtil
  • Structure
  • TermContainer
  • TheoryLike
  • Translator
  • TraversingTranslator
  • TypedConstantLike
  • TypedParametricTheoryLike
  • UniformTranslator
  • UnnamedUntyped
  • Untyped
  • Visibility
c

info.kwarc.mmt.api.symbols

DerivedModule

class DerivedModule extends Module with DerivedContentElement

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DerivedModule
  2. DerivedContentElement
  3. HasNotation
  4. HasType
  5. AbstractTheory
  6. Module
  7. ModuleOrLink
  8. HasDefiniens
  9. ContainerElement
  10. MutableElementContainer
  11. ElementContainer
  12. ContentElement
  13. StructuralElement
  14. NamedElement
  15. Content
  16. ClientProperties
  17. HasMetaData
  18. AnyRef
  19. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DerivedModule(feature: String, p: DPath, n: LocalName, meta: Option[MPath], tpC: TermContainer, dfC: TermContainer, notC: NotationContainer)

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 add(d: Declaration, at: AddPosition = AtEnd): Unit

    adds a named declaration, throws exception if name already declared

    adds a named declaration, throws exception if name already declared

    d

    declaration to add

    at

    the position where to add, at end by default this throws an errors if a declaration for that name already exists; exception: if the two declarations are equivalent, the old one is overridden

    Definition Classes
    ModuleOrLinkMutableElementContainer
  5. def addAfterNarrative(d: Declaration, after: LocalName): Unit

    like add, but treats the second argument as the name of a NarrativeElement

    like add, but treats the second argument as the name of a NarrativeElement

    Definition Classes
    ModuleOrLink
  6. def asDocument: Document

    the narrative structure

    the narrative structure

    Definition Classes
    ModuleOrLink
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. lazy val clientProperty: ListMap[URI, Any]
    Definition Classes
    ClientProperties
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  10. def compatible(that: StructuralElement): Boolean

    two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's

    two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's

    Definition Classes
    StructuralElement
  11. def declares(name: LocalName): Boolean

    true iff a declaration for a name is present

    true iff a declaration for a name is present

    Definition Classes
    ModuleOrLink
  12. def delete(name: LocalName): Option[Declaration]

    delete a named declaration (does not have to exist)

    delete a named declaration (does not have to exist)

    returns

    the deleted declaration

    Definition Classes
    ModuleOrLinkMutableElementContainer
  13. def df: Option[Term]
    Definition Classes
    HasDefiniens
  14. val dfC: TermContainer
    Definition Classes
    DerivedModuleHasDefiniens
  15. def dfNode: Seq[Node] with AbstractSeq[Node] with Serializable
    Definition Classes
    HasDefiniens
  16. def domain: List[LocalName]

    the list of names of all declarations

    the list of names of all declarations

    Definition Classes
    ModuleOrLinkElementContainer
  17. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  19. def equivalentTo(that: StructuralElement): Boolean

    logically equivalent: compares headerInfo, components, and declarations

    logically equivalent: compares headerInfo, components, and declarations

    Definition Classes
    StructuralElement
  20. val feature: String

    the kind of declaration, e.g., "constant"

    the kind of declaration, e.g., "constant"

    Definition Classes
    DerivedModuleContentElementStructuralElement
  21. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. def foreachComponent(f: (CPath, ComponentContainer) ⇒ Unit): Unit

    recursively applies a function to all components in this element (in declaration order)

    recursively applies a function to all components in this element (in declaration order)

    Definition Classes
    ContentElement
  23. def foreachDeclaration(f: (ContentElement) ⇒ Unit): Unit

    recursively applies a function to all declarations in this element (in declaration order)

    recursively applies a function to all declarations in this element (in declaration order)

    Definition Classes
    ContentElement
  24. def get(name: LocalName): Declaration
    Definition Classes
    ElementContainer
  25. def getAllIncludes: List[IncludeData]

    like getIncludes but also with includes of parametric theories and defined includes

    like getIncludes but also with includes of parametric theories and defined includes

    Definition Classes
    AbstractTheoryModuleOrLink
  26. def getAllIncludesWithSelf: List[IncludeData]

    Get all transitive-reflexive inclusions.

    Get all transitive-reflexive inclusions.

    Definition Classes
    ModuleOrLink
  27. def getAllIncludesWithoutMeta: List[IncludeData]

    like getIncludesWithoutMeta but also with includes of parametric theories and their instantiations

    like getIncludesWithoutMeta but also with includes of parametric theories and their instantiations

    Definition Classes
    AbstractTheory
  28. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  29. def getComponent(k: ComponentKey): Option[ComponentContainer]

    returns a specific component if present

    returns a specific component if present

    Definition Classes
    StructuralElement
  30. def getComponentContext(k: ComponentKey): Context

    like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist

    like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist

    Definition Classes
    StructuralElement
  31. def getComponents: List[DeclarationComponent]

    returns all term components of this elements

    returns all term components of this elements

    Definition Classes
    DerivedContentElementStructuralElement
  32. def getConstants: List[Constant]

    convenience method to obtain all constants

    convenience method to obtain all constants

    Definition Classes
    AbstractTheory
  33. def getDeclarations: List[Declaration]

    the list of declarations in narrative order, includes generated declarations

    the list of declarations in narrative order, includes generated declarations

    Definition Classes
    ModuleOrLinkElementContainerContentElementStructuralElement
  34. def getDeclarationsBefore(n: LocalName): List[Declaration]
    Definition Classes
    ElementContainer
  35. def getDeclarationsElaborated: List[Declaration]

    the list of declarations using elaborated declarations where possible these are: primitive elements: includes, constants other elements if they have not been fully elaborated

    the list of declarations using elaborated declarations where possible these are: primitive elements: includes, constants other elements if they have not been fully elaborated

    Definition Classes
    ContainerElement
  36. def getDerivedDeclarations(f: String): List[DerivedDeclaration]

    convenience method to obtain all derived declarations for a given feature

    convenience method to obtain all derived declarations for a given feature

    Definition Classes
    AbstractTheory
  37. def getIncludes: List[MPath]

    convenience method to obtain all included theories (including a possible meta-theory)

    convenience method to obtain all included theories (including a possible meta-theory)

    Definition Classes
    AbstractTheory
  38. def getIncludesWithoutMeta: List[MPath]

    convenience method to obtain all included theories (without a possible meta-theory)

    convenience method to obtain all included theories (without a possible meta-theory)

    Definition Classes
    AbstractTheory
  39. def getInnerContext: Context

    the context governing the body: meta-theory, parameters, and this theory

    the context governing the body: meta-theory, parameters, and this theory

    Definition Classes
    AbstractTheoryModuleOrLink
  40. def getMetaDataNode: NodeSeq
    Definition Classes
    HasMetaData
  41. def getMostSpecific(name: LocalName): Option[(Declaration, LocalName)]
    Definition Classes
    ModuleOrLinkElementContainer
  42. def getNamedStructures: List[Structure]

    convenience method to obtain all named structures

    convenience method to obtain all named structures

    Definition Classes
    AbstractTheory
  43. def getO(name: LocalName): Option[Declaration]

    retrieve a declaration

    retrieve a declaration

    Definition Classes
    ModuleOrLinkElementContainer
  44. def getO(name: String): Option[Declaration]

    same as get(LocalName(name))

    same as get(LocalName(name))

    Definition Classes
    ElementContainer
  45. def getOrigin: Origin
    Definition Classes
    StructuralElement
  46. def getPrimitiveDeclarations: List[Declaration]

    the list of declarations in the order of addition, excludes generated declarations

    the list of declarations in the order of addition, excludes generated declarations

    Definition Classes
    ContainerElement
  47. def getRealizees: List[IncludeData]

    return all includes that are realizations

    return all includes that are realizations

    Definition Classes
    AbstractTheory
  48. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  49. def headerInfo: HeaderInfo

    header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants

    header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants

    Definition Classes
    StructuralElement
  50. def headerNodes: Seq[Node]

    common inner nodes: definiens (metadata is part of document)

    common inner nodes: definiens (metadata is part of document)

    Attributes
    protected
    Definition Classes
    ModuleOrLink
  51. def innerNodes: NodeSeq

    getPrimitiveDeclarations, with narrative structure

    getPrimitiveDeclarations, with narrative structure

    Attributes
    protected
    Definition Classes
    ModuleOrLink
  52. def innerNodesElab: List[Node]

    getDeclarationsElaborated, without narrative structure

    getDeclarationsElaborated, without narrative structure

    Attributes
    protected
    Definition Classes
    ModuleOrLink
  53. def innerString: String

    body as a string

    body as a string

    Definition Classes
    ModuleOrLink
  54. def isDeclared(name: LocalName): Boolean
    Definition Classes
    ElementContainer
  55. def isEmpty: Boolean

    true iff no declarations present

    true iff no declarations present

    Definition Classes
    ModuleOrLink
  56. def isGenerated: Boolean
    Definition Classes
    StructuralElement
  57. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  58. def merge(that: StructuralElement): Unit

    merge all properties of 'that' into 'this' except for components and declarations

    merge all properties of 'that' into 'this' except for components and declarations

    Definition Classes
    StructuralElement
  59. val meta: Option[MPath]

    the meta-theory

    the meta-theory

    Definition Classes
    DerivedModuleAbstractTheory
  60. val metadata: MetaData
    Definition Classes
    HasMetaData
  61. def modulePath: MPath

    path if seen as a module

    path if seen as a module

    Definition Classes
    ModuleOrLink
  62. val name: LocalName

    local name relative to the parent element or namespace

    local name relative to the parent element or namespace

    Definition Classes
    ModuleContentElementNamedElement
  63. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  64. def not: Option[TextNotation]
    Definition Classes
    HasNotation
  65. val notC: NotationContainer
    Definition Classes
    DerivedModuleHasNotation
  66. def notNode: Seq[Node] with AbstractSeq[Node] with Serializable
    Definition Classes
    HasNotation
  67. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  68. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  69. def outerString: String

    header as a string (without definiens)

    header as a string (without definiens)

    Definition Classes
    DerivedContentElementModuleOrLink
  70. def parameters: Context

    always empty for now, could be relaxed in the future

    always empty for now, could be relaxed in the future

    Definition Classes
    DerivedContentElementAbstractTheory
  71. val parent: DPath

    the containing knowledge item, a URL if none

    the containing knowledge item, a URL if none

    Definition Classes
    ModuleStructuralElement
  72. var parentDoc: Option[DPath]
    Definition Classes
    Module
  73. def path: MPath

    the MMT URI of the element

    the MMT URI of the element

    Definition Classes
    ModuleContentElementStructuralElement
  74. def reorder(ln: LocalName): Unit

    moves a declaration to the end of its section (if the relDocHome of ln has changed, it is also moved to the new section) also moves all subsequent ln/X declarations (and updates their relDocHome)

    moves a declaration to the end of its section (if the relDocHome of ln has changed, it is also moved to the new section) also moves all subsequent ln/X declarations (and updates their relDocHome)

    Definition Classes
    ModuleOrLinkMutableElementContainer
  75. def selfInclude: IncludeData

    Get self inclusion.

    Get self inclusion.

    Definition Classes
    AbstractTheoryModuleOrLink
  76. def setOrigin(o: Origin): Unit
    Definition Classes
    StructuralElement
  77. val statements: HashMap[LocalName, Declaration]

    the set of named statements, indexed by name if a statement has an alternativeName, it occurs twice in this map

    the set of named statements, indexed by name if a statement has an alternativeName, it occurs twice in this map

    Attributes
    protected
    Definition Classes
    ModuleOrLink
  78. def streamInnerNodes(rh: RenderingHandler): Unit
    Definition Classes
    ModuleOrLink
  79. def superModule: Option[MPath]
    Definition Classes
    Module
  80. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  81. def toNode(rh: RenderingHandler): Unit

    by default, this prints out toNode

    by default, this prints out toNode

    potentially large StructuralElements should override it with a memory-efficient implementation

    Definition Classes
    DerivedContentElementContent
  82. def toNode: Elem

    XML representation

    XML representation

    Definition Classes
    DerivedContentElementContent
  83. def toString(): String

    outerString, definiens, innerString

    outerString, definiens, innerString

    Definition Classes
    ModuleOrLink → AnyRef → Any
  84. def toTerm: OMID

    this element as a module expression

    this element as a module expression

    Definition Classes
    ModuleModuleOrLinkContentElement
  85. def tp: Option[Term]
    Definition Classes
    HasType
  86. val tpC: TermContainer
    Definition Classes
    DerivedModuleHasType
  87. def tpNode: Seq[Node] with AbstractSeq[Node] with Serializable
    Definition Classes
    HasType
  88. def translate(newNS: DPath, newName: LocalName, tl: Translator, con: Context): DerivedModule
    Definition Classes
    DerivedModuleModule
  89. def translateDf(translator: Translator, context: Context): TermContainer
    Definition Classes
    HasDefiniens
  90. def translateTp(translator: Translator, context: Context): TermContainer
    Definition Classes
    HasType
  91. def update(s: Declaration): Unit

    updates a named declaration (preserving the order)

    updates a named declaration (preserving the order)

    Definition Classes
    ModuleOrLinkMutableElementContainer
  92. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  93. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  94. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from DerivedContentElement

Inherited from HasNotation

Inherited from HasType

Inherited from AbstractTheory

Inherited from Module

Inherited from ModuleOrLink

Inherited from HasDefiniens

Inherited from ContainerElement[Declaration]

Inherited from ElementContainer[Declaration]

Inherited from ContentElement

Inherited from StructuralElement

Inherited from NamedElement

Inherited from Content

Inherited from ClientProperties

Inherited from HasMetaData

Inherited from AnyRef

Inherited from Any

Ungrouped