Packages

object FineDeducer extends 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 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.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FineDeducer
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type SomeFunc = FuncLike[u, v] forSome {type u <: Term with Subs[u], type v <: Term with Subs[v]}

Value Members

  1. def asFuncs(pd: ProbabilityDistribution[Term]): ProbabilityDistribution[SomeFunc]
  2. def asTyps(pd: ProbabilityDistribution[Term]): ProbabilityDistribution[Typ[Term]]
  3. def lambdaEv(varweight: Double)(typEvolve: => (FiniteDistribution[Term]) => ProbabilityDistribution[Term], valueEvolve: => (Term) => (FiniteDistribution[Term]) => ProbabilityDistribution[Term])(p: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    a lambda-island for evolution:

    a lambda-island for evolution:

    typEvolve

    evolution of types, from which a variable is chosen

    valueEvolve

    evolution of terms, given initial distribution

    p

    initial distribution A type is picked at random, a variable x with this type is generated and mixed in with weight varWeight into the initial distribution p. The evolved distribution is mapped by x :-> _.

  4. def piEv(varweight: Double)(typEvolve: => (FiniteDistribution[Term]) => ProbabilityDistribution[Term], valueEvolve: => (Term) => (FiniteDistribution[Term]) => ProbabilityDistribution[Term])(p: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    a lambda-island for evolution:

    a lambda-island for evolution:

    typEvolve

    evolution of types, from which a variable is chosen

    valueEvolve

    evolution of terms, given initial distribution

    p

    initial distribution A type is picked at random, a variable x with this type is generated and mixed in with weight varWeight into the initial distribution p. The evolved distribution is mapped by pi(x)(_).

  5. def simpleApplnEv(funcEvolve: => (FiniteDistribution[Term]) => ProbabilityDistribution[SomeFunc], argEvolve: => (Typ[Term]) => (FiniteDistribution[Term]) => ProbabilityDistribution[Term])(p: FiniteDistribution[Term]): ProbabilityDistribution[v forSome {type v <: Term with Subs[v]}]

    evolution by function application, to be used by choosing function at random and then argument conditionally in its domain.

  6. def termClosure(vars: Vector[Term])(fd: FiniteDistribution[Term]): FiniteDistribution[Term]
  7. def typClosure(vars: Vector[Term])(fd: FiniteDistribution[Typ[Term]]): FiniteDistribution[Typ[Term]]
  8. def unif(vars: Term*)(terms: Term*)(axioms: Typ[Term]*): FiniteDistribution[Term]
  9. def unifApplnEv(funcEvolve: => (FiniteDistribution[Term]) => ProbabilityDistribution[SomeFunc], argEvolve: => (FiniteDistribution[Term]) => ProbabilityDistribution[Term])(p: FiniteDistribution[Term]): ProbabilityDistribution[Option[Term]]

    evolution by function application with unification