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

object Pattern

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

Type Members

  1. 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.

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

  2. class Partial[I, X[_]] extends Pattern[I, X]

    pattern as a class from a partial function - defined as a class to allow inheritance

  3. class PolyPattern[I, X[_]] extends AnyRef

    like a Pattern but with multiple matches possible

Value Members

  1. def apply[I, X[_]](split: (I) => Option[X[I]])(implicit arg0: Traverse[X]): Pattern[I, X]
  2. def cast[I, X[_]](split: (I) => Option[Any])(implicit arg0: Traverse[X]): Pattern[I, X]

    Given shape and Input type, builds a junction from a split whose output is _a priori_ of the wrong type.

    Given shape and Input type, builds a junction from a split whose output is _a priori_ of the wrong type. The shape X[_] must be specified.

  3. def check[I](p: (I) => Boolean): Pattern[I, Un]

    pattern by checking condition, returns optional Unit

  4. def filter[I](p: (I) => Boolean): Pattern[I, Id]

    filtered pattern

  5. def fromMatcher[I, X[_], S](matcher: (I) => Option[Map[S, I]], varword: X[S])(implicit arg0: Traverse[X]): Pattern[I, X]

    Builds a splitter from a word of a given shape, and a map that matches and returns the image of an element.

    Builds a splitter from a word of a given shape, and a map that matches and returns the image of an element. This is problematic if lists should be returned.

  6. def partial[I, X[_]](split: PartialFunction[I, X[I]])(implicit arg0: Traverse[X]): Pattern[I, X]

    pattern from a partial function

  7. object PolyPattern