Packages

  • package root
    Definition Classes
    root
  • package provingground

    This is work towards automated theorem proving based on learning, using homotopy type theory (HoTT) as foundations and natural language processing.

    This is work towards automated theorem proving based on learning, using homotopy type theory (HoTT) as foundations and natural language processing.

    The implementation of homotopy type theory is split into:

    • the object HoTT with terms, types, functions and dependent functions, pairs etc
    • the package induction with general inductive types and recursion/induction on these.

    The learning package has the code for learning.

    Scala code, including the spire library, is integrated with homotopy type theory in the scalahott package

    We have implemented a functor based approach to translation in the translation package, used for nlp as well as serialization and parsing.

    The library package is contains basic structures implemented in HoTT.

    Definition Classes
    root
  • package translation

    Translation primarily using a functorial framework - see Translator$, for natural language processing as well as serialization, formatted output, parsing, interface with formal languages etc.

    Translation primarily using a functorial framework - see Translator$, for natural language processing as well as serialization, formatted output, parsing, interface with formal languages etc.

    Besides the Translator framework and helper typeclasses is Functors, several structures for concrete languages including our implementation of HoTT are in this package.

    Definition Classes
    provingground
  • object Translator

    General functorial framework for translation.

    General functorial framework for translation.

    Translators with I the input type and O the output type are primarily built from Junctions

    • a pattern which map I => Option[X[O]], with X[_] a functor with traverse, e.g. a tuple or a vector.
    • a builder O => Option[I] to avoid having to specify types too many types, traits Pattern and Builder are defined.

    We also have simpler translators for literals and also wrapping translators for a component type.

    Definition Classes
    translation
  • Builder
  • Empty
  • Junction
  • Mapped
  • MixedJunction
  • OrElse
  • Pattern
  • PolyJunction
  • Simple
  • VarWord

case class OrElse[I, O](first: Translator[I, O], second: Translator[I, O]) extends Translator[I, O] with Product with Serializable

Tries the first translator at top level, then the second. Is recursive.

Linear Supertypes
Serializable, Product, Equals, Translator[I, O], (I) => Option[O], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OrElse
  2. Serializable
  3. Product
  4. Equals
  5. Translator
  6. Function1
  7. AnyRef
  8. Any
Implicitly
  1. by UnliftOps
  2. by any2stringadd
  3. by StringFormat
  4. by Ensuring
  5. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new OrElse(first: Translator[I, O], second: Translator[I, O])

Value Members

  1. def andThen[A](g: (Option[O]) => A): (I) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  2. def apply(inp: I): Option[O]
    Definition Classes
    Translator → Function1
  3. def compose[A](g: (A) => I): (A) => Option[O]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  4. def elseOr(that: Translator[I, O]): OrElse[I, O]

    OrElse combinator, tries other translator first, then this one.

    OrElse combinator, tries other translator first, then this one. Other translator must be preprended

    Definition Classes
    Translator
  5. val first: Translator[I, O]
  6. def map[X](fn: (O) => X, ufn: (X) => O): Mapped[I, O, X]
    Definition Classes
    Translator
  7. def orElse(that: Translator[I, O]): OrElse[I, O]

    OrElse combinator, tries other translator if the first fails.

    OrElse combinator, tries other translator if the first fails.

    Definition Classes
    Translator
  8. def productElementNames: Iterator[String]
    Definition Classes
    Product
  9. def recTranslate(leafMap: => (I) => Option[O]): (I) => Option[O]
    Definition Classes
    OrElseTranslator
  10. val second: Translator[I, O]
  11. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  12. def unlift: PartialFunction[I, O]
    Implicit
    This member is added by an implicit conversion from OrElse[I, O] toUnliftOps[I, O] performed by method UnliftOps in scala.Function1.
    Definition Classes
    UnliftOps
  13. def ||(that: Translator[I, O]): OrElse[I, O]

    OrElse combinator, tries other translator if the first fails.

    OrElse combinator, tries other translator if the first fails.

    Definition Classes
    Translator
  14. def ||:(that: Translator[I, O]): OrElse[I, O]

    OrElse combinator, tries other translator first, then this one.

    OrElse combinator, tries other translator first, then this one. Other translator must be preprended

    Definition Classes
    Translator