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 PolyJunction[I, O, X[_]](polySplit: (I) => Option[Vector[X[I]]], build: (X[O]) => Option[O])(implicit evidence$3: Traverse[X]) extends Translator[I, O] with Product with Serializable

like a Junction but tries several cases.

Linear Supertypes
Serializable, Product, Equals, Translator[I, O], (I) => Option[O], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PolyJunction
  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 PolyJunction(polySplit: (I) => Option[Vector[X[I]]], build: (X[O]) => Option[O])(implicit arg0: Traverse[X])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toany2stringadd[PolyJunction[I, O, X]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (PolyJunction[I, O, X], B)
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toArrowAssoc[PolyJunction[I, O, X]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def andThen[A](g: (Option[O]) => A): (I) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  7. def apply(inp: I): Option[O]
    Definition Classes
    Translator → Function1
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. val build: (X[O]) => Option[O]
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. def compose[A](g: (A) => I): (A) => Option[O]
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. 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
  13. def ensuring(cond: (PolyJunction[I, O, X]) => Boolean, msg: => Any): PolyJunction[I, O, X]
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toEnsuring[PolyJunction[I, O, X]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: (PolyJunction[I, O, X]) => Boolean): PolyJunction[I, O, X]
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toEnsuring[PolyJunction[I, O, X]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean, msg: => Any): PolyJunction[I, O, X]
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toEnsuring[PolyJunction[I, O, X]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: Boolean): PolyJunction[I, O, X]
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toEnsuring[PolyJunction[I, O, X]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  18. def flip: (X[Option[O]]) => Option[X[O]]
  19. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toStringFormat[PolyJunction[I, O, X]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  20. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. def map[X](fn: (O) => X, ufn: (X) => O): Mapped[I, O, X]
    Definition Classes
    Translator
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  26. 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
  27. val polySplit: (I) => Option[Vector[X[I]]]
  28. def productElementNames: Iterator[String]
    Definition Classes
    Product
  29. def recTranslate(leafMap: => (I) => Option[O]): (I) => Option[O]
    Definition Classes
    PolyJunctionTranslator
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  32. def unlift: PartialFunction[I, O]
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toUnliftOps[I, O] performed by method UnliftOps in scala.Function1.
    Definition Classes
    UnliftOps
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  36. 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
  37. 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

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated
  2. def [B](y: B): (PolyJunction[I, O, X], B)
    Implicit
    This member is added by an implicit conversion from PolyJunction[I, O, X] toArrowAssoc[PolyJunction[I, O, X]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Use -> instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Translator[I, O]

Inherited from (I) => Option[O]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion UnliftOps fromPolyJunction[I, O, X] to UnliftOps[I, O]

Inherited by implicit conversion any2stringadd fromPolyJunction[I, O, X] to any2stringadd[PolyJunction[I, O, X]]

Inherited by implicit conversion StringFormat fromPolyJunction[I, O, X] to StringFormat[PolyJunction[I, O, X]]

Inherited by implicit conversion Ensuring fromPolyJunction[I, O, X] to Ensuring[PolyJunction[I, O, X]]

Inherited by implicit conversion ArrowAssoc fromPolyJunction[I, O, X] to ArrowAssoc[PolyJunction[I, O, X]]

Ungrouped