Packages

case class FineDeducer(applnWeight: Double = 0.1, lambdaWeight: Double = 0.1, piWeight: Double = 0.1, varWeight: Double = 0.3, unifyWeight: Double = 0.5) extends FineEvolver with Product with Serializable

A refined deducer, i.e., evolution of terms and derivatives of evolution. Various evolutions are defined mutually recursively - of functions, of types, of terms of a type, of type families and of all terms. Derivatives are defined mutually recursively with the evolutions.

This is refined so that, for example, arguments are chosen conditionally from the domain of a function.

varWeight

weight of a variable inside a lambda

Self Type
FineDeducer
Linear Supertypes
Serializable, Product, Equals, FineEvolver, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FineDeducer
  2. Serializable
  3. Product
  4. Equals
  5. FineEvolver
  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 FineDeducer(applnWeight: Double = 0.1, lambdaWeight: Double = 0.1, piWeight: Double = 0.1, varWeight: Double = 0.3, unifyWeight: Double = 0.5)

    varWeight

    weight of a variable inside a lambda

Value Members

  1. def DevolvFuncs(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]

    derivative of evolution of functions (adding components)

  2. def DevolvTypFamilies(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]

    derivative of evolution of type families (adding components) FIXME the lambda terms should be specific to type families.

  3. def Devolve(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    derivative of evolution evolve of terms

  4. def DevolveTyp(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    derivative of evolution of types

  5. def DevolveWithType(tp: Typ[Term])(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    derivative of evolution of terms with a fixed type

  6. def DlambdaTypVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
  7. def DlambdaTypVar(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
  8. def DlambdaVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of lambda islands with resepect to the value exported

  9. def DlambdaVar(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of lambda islands with respect to the weight of the variable (really the type)

  10. def DpiVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of pi islands with resepect to the value exported

  11. def DpiVar(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of pi islands with resepect to the weight of the variable (really the type)

  12. def DsimpleApplnArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    partial derivative of function application without unification with respect to arguments.

  13. def DsimpleApplnFunc(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    partial derivative of function application (without unification) with respect to functions

  14. def DsimpleApplnTypArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    partial derivative of function application without unification for type families with respect to arguments.

  15. def DsimpleApplnTypFamilies(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    partial derivative of function application without unification for type families with respect to type families

  16. def DunifApplnArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of unified function application with respect to arguments.

  17. def DunifApplnFunc(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of unified function application with respect to the function term.

  18. def DunifApplnTypArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of unified function application for type families with respect to arguments

  19. def DunifApplnTypFamilies(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    partial derivative of unified function application for type families with respect to type families

  20. val applnWeight: Double
  21. def evolvFuncs(fd: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]

    evolution of functions, used for function application.

    evolution of functions, used for function application.

    Definition Classes
    FineEvolver
  22. def evolvTypFamilies(fd: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]

    evolution of type families, to be used for function application to generate types.

    evolution of type families, to be used for function application to generate types. lambda evolution uses only types and type families as values.

    Definition Classes
    FineEvolver
  23. def evolve(fd: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    evolution of terms, by combining various operations and islands

    evolution of terms, by combining various operations and islands

    Definition Classes
    FineEvolver
  24. def evolveTyp(fd: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    evolution of types

    evolution of types

    Definition Classes
    FineEvolver
  25. def evolveWithTyp(tp: Typ[Term])(fd: FiniteDistribution[Term]): ProbabilityDistribution[Term]

    evolution of a term with a given type

    evolution of a term with a given type

    Definition Classes
    FineEvolver
  26. val lambdaWeight: Double
  27. val piWeight: Double
  28. def productElementNames: Iterator[String]
    Definition Classes
    Product
  29. val unifyWeight: Double
  30. lazy val varScaled: FineDeducer

    FineEvolver with varWeight rescaled so that the weight of different variables does not depend on the order in which they were introduced in lambda or pi islands.

    FineEvolver with varWeight rescaled so that the weight of different variables does not depend on the order in which they were introduced in lambda or pi islands.

    Definition Classes
    FineDeducerFineEvolver
  31. val varWeight: Double