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
  • object Pattern
    Definition Classes
    Translator
  • OrElse
  • Partial
  • PolyPattern

case class OrElse[I, X[_]](first: Pattern[I, X], second: Pattern[I, X])(implicit evidence$9: Traverse[X]) extends Pattern[I, X] with Product with Serializable

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

Linear Supertypes
Serializable, Product, Equals, Pattern[I, X], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OrElse
  2. Serializable
  3. Product
  4. Equals
  5. Pattern
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new OrElse(first: Pattern[I, X], second: Pattern[I, X])(implicit arg0: Traverse[X])

Value Members

  1. def :>>[O](build: (X[I], X[O]) => Option[O]): MixedJunction[I, O, X]
    Definition Classes
    Pattern
  2. def :>>>[O](build: (X[I], X[O]) => O): MixedJunction[I, O, X]
    Definition Classes
    Pattern
  3. def >>[O](build: (X[O]) => Option[O]): Junction[I, O, X]
    Definition Classes
    Pattern
  4. def >>>[O](build: (X[O]) => O): Junction[I, O, X]
    Definition Classes
    Pattern
  5. val first: Pattern[I, X]
  6. def join[O](build: (X[O]) => Option[O]): Junction[I, O, X]
    Definition Classes
    Pattern
  7. def joinStrict[O](build: (X[O]) => O): Junction[I, O, X]
    Definition Classes
    Pattern
  8. def map[J](f: (I) => I): Pattern[I, X]
    Definition Classes
    Pattern
  9. def mixedJoin[O](build: (X[I], X[O]) => Option[O]): MixedJunction[I, O, X]
    Definition Classes
    Pattern
  10. def mixedJoinStrict[O](sbuild: (X[I], X[O]) => O): MixedJunction[I, O, X]
    Definition Classes
    Pattern
  11. def productElementNames: Iterator[String]
    Definition Classes
    Product
  12. val second: Pattern[I, X]
  13. def unapply(x: I): Option[X[I]]
    Definition Classes
    Pattern
  14. def ||(that: Pattern[I, X]): OrElse[I, [_]X[_]]
    Definition Classes
    Pattern