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
- Alphabetic
- By Inheritance
- FineDeducer
- Serializable
- Product
- Equals
- FineEvolver
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- 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
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from FineDeducer toany2stringadd[FineDeducer] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (FineDeducer, B)
- Implicit
- This member is added by an implicit conversion from FineDeducer toArrowAssoc[FineDeducer] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def DevolvFuncs(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]
derivative of evolution of functions (adding components)
- 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.
- def Devolve(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
derivative of evolution evolve of terms
- def DevolveTyp(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
derivative of evolution of types
- def DevolveWithType(tp: Typ[Term])(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
derivative of evolution of terms with a fixed type
- def DlambdaTypVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
- def DlambdaTypVar(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
- def DlambdaVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
partial derivative of lambda islands with resepect to the value exported
- 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)
- def DpiVal(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
partial derivative of pi islands with resepect to the value exported
- 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)
- def DsimpleApplnArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
partial derivative of function application without unification with respect to arguments.
- def DsimpleApplnFunc(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
partial derivative of function application (without unification) with respect to functions
- def DsimpleApplnTypArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Term]
partial derivative of function application without unification for type families with respect to arguments.
- 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
- def DunifApplnArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
partial derivative of unified function application with respect to arguments.
- def DunifApplnFunc(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
partial derivative of unified function application with respect to the function term.
- def DunifApplnTypArg(fd: FiniteDistribution[Term], tang: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]
partial derivative of unified function application for type families with respect to arguments
- 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
- val applnWeight: Double
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def ensuring(cond: (FineDeducer) => Boolean, msg: => Any): FineDeducer
- Implicit
- This member is added by an implicit conversion from FineDeducer toEnsuring[FineDeducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (FineDeducer) => Boolean): FineDeducer
- Implicit
- This member is added by an implicit conversion from FineDeducer toEnsuring[FineDeducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): FineDeducer
- Implicit
- This member is added by an implicit conversion from FineDeducer toEnsuring[FineDeducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): FineDeducer
- Implicit
- This member is added by an implicit conversion from FineDeducer toEnsuring[FineDeducer] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def evolvFuncs(fd: FiniteDistribution[Term]): ProbabilityDistribution[SomeFunc]
evolution of functions, used for function application.
evolution of functions, used for function application.
- Definition Classes
- FineEvolver
- 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
- 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
- def evolveTyp(fd: FiniteDistribution[Term]): ProbabilityDistribution[Term]
evolution of types
evolution of types
- Definition Classes
- FineEvolver
- 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
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from FineDeducer toStringFormat[FineDeducer] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lambdaWeight: Double
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- val piWeight: Double
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val unifyWeight: Double
- 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
- FineDeducer → FineEvolver
- val varWeight: Double
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
- def →[B](y: B): (FineDeducer, B)
- Implicit
- This member is added by an implicit conversion from FineDeducer toArrowAssoc[FineDeducer] 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.