object TermGeneratorNodes
Combining terms and subclasses to get terms, types, functions etc; these are abstract specifications, to be used for generating distributions, obtaining equations etc. The object contains helpers and other static objects.
- Alphabetic
- By Inheritance
- TermGeneratorNodes
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- case class AddVar(typ: Typ[Term]) extends (TermState) => (Double) => (TermState, Term) with Product with Serializable
Wrapper for adding variable to allow equality and
toString
to work. - case class ApplyFunc[U <: Term with Subs[U], V <: Term with Subs[V]](fn: Func[U, V]) extends (Term) => Term with Product with Serializable
Wrapper for function application to allow equality and
toString
to work. - case class ConstRandVar[O](randomVar: RandomVar[O]) extends (Term) => RandomVar[O] with Product with Serializable
Constant random variable, for fibers for islands
Constant random variable, for fibers for islands
- O
scala type of the random variable
- randomVar
the random variable
- case class Incl1[U <: Term with Subs[U], V <: Term with Subs[V]](pt: PlusTyp[U, V]) extends (Term) => Term with Product with Serializable
Wrapper for first inclusion to allow equality and
toString
to work. - case class Incl2[U <: Term with Subs[U], V <: Term with Subs[V]](pt: PlusTyp[U, V]) extends (Term) => Term with Product with Serializable
Wrapper for second to allow equality and
toString
to work. - case class PTTerm[U <: Term with Subs[U], V <: Term with Subs[V]](pt: ProdTyp[U, V]) extends (Term, Term) => Term with Product with Serializable
Wrapper for pair terms to allow equality and
toString
to work. - case class STFibVar[U <: Term with Subs[U], V <: Term with Subs[V]](pt: SigmaTyp[U, V]) extends (Term) => RandomVar[Term] with Product with Serializable
Wrapper for fiber for sigma types to allow equality and
toString
to work. - case class STTerm[U <: Term with Subs[U], V <: Term with Subs[V]](pt: SigmaTyp[U, V]) extends (Term, Term) => Term with Product with Serializable
Wrapper for dependent pair term to allow equality and
toString
to work. - case class SolverNode(solver: TypSolver) extends Product with Serializable
- case class SolverTyp(solver: TypSolver) extends (::[Typ[Term], HNil]) => Option[GeneratorNode[Term]] with Product with Serializable
- case class TargetCodomain(typ: Typ[Term]) extends (ExstFunc) => Option[Term] with Product with Serializable
- case class TargetInducFuncs(target: Typ[Term]) extends (ExstInducDefn) => Option[Term] with Product with Serializable
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- 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 codomainNode(typ: Typ[Term]): GeneratorNode[Term]
Node for generating functions that target a codomain; they are not applied yet, instead form terms of a customised random variable.
- val codomainNodeFamily: BasePi[::[Typ[Term], HNil], Term]
Node family for generating functions that target a codomain; they are not applied yet, instead form terms of a customised random variable.
- def domainForDefn(ind: ExstInducDefn): Option[GeneratorNode[Term]]
Generating domains for a given inductive structure, with an inductive definition also given.
Generating domains for a given inductive structure, with an inductive definition also given. Examples of domains are
Nat
,Vec(A)
andFin
. - val domainForDefnNodeFamily: GeneratorNodeFamily[::[ExstInducDefn, HNil], Term]
Node family for generating domains for a given inductive structure, with an inductive definition also given.
Node family for generating domains for a given inductive structure, with an inductive definition also given. Examples of domains are
Nat
,Vec(A)
andFin
. - def domainForStruct(ind: ExstInducStrucs, fmly: Term, defn: ExstInducDefn): Option[GeneratorNode[Term]]
Generating domains for a given inductive structure, with an inductive definition also given.
Generating domains for a given inductive structure, with an inductive definition also given. Examples of domains are
Nat
,Vec(A)
andFin
. The structure is specified separately as it may have some parameters applied, so be different from the one corresponding to the definition; similarly we start with the full type family of the definition, e.g.Vec
, but fill in parameters to get e.g.Vec(Nat)
. Note that if there are no parameters the type family is returned - final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- val funcSort: Sort[Term, ExstFunc]
conditioning on being a function
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def incl1Node(typ: Typ[Term]): Option[GeneratorNode[Term]]
Node for the first inclusion targeting a plus type.
- val incl1TypNodeFamily: BasePiOpt[::[Typ[Term], HNil], Term]
node family to target products using inclusions
- def incl2Node(typ: Typ[Term]): Option[GeneratorNode[Term]]
Node for second inclusion targeting a plus type.
- val incl2TypNodeFamily: BasePiOpt[::[Typ[Term], HNil], Term]
node family to target products using inclusions
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- def recFuncsForStrucNode(ind: ExstInducStrucs): ZipMapOpt[Typ[Term], Typ[Term], ExstFunc]
recursive functions from a specific inductive structure, picking the codomain, this is the simplest form, where the domain is not selected and so is usually wrong; further just the function is returned, not with data applied
recursive functions from a specific inductive structure, picking the codomain, this is the simplest form, where the domain is not selected and so is usually wrong; further just the function is returned, not with data applied
- ind
the inductive structure
- returns
distribution of functions
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def targetInducFuncs(ind: ExstInducDefn, target: Typ[Term]): Option[Term]
Node for recursive definitions targeting a specific type given an inductive definition, generating a domain and invoking the node getting codomain; but not the recursion data here
- def toString(): String
- Definition Classes
- AnyRef → Any
- val typAsTermSort: Sort[Typ[Term], Term]
- val typViaZeroFamily: BasePiOpt[::[Typ[Term], HNil], Term]
node family to target (dependent) function types by mapping domain to zero (i.e.
node family to target (dependent) function types by mapping domain to zero (i.e. contradict hypothesis)
- def typViaZeroNodeOpt(typ: Typ[Term]): Option[Map[Term, Term]]
node to target (dependent) function types by mapping domain to zero (i.e.
node to target (dependent) function types by mapping domain to zero (i.e. contradict hypothesis)
- 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])
- case object Base extends TermGeneratorNodes[TermState] with Product with Serializable
The default term generators; essentially the only one used, except the choice of variable weight,
0.3
here, may vary. - case object CodomainNode extends (::[Typ[Term], HNil]) => GeneratorNode[Term] with Product with Serializable
- case object DomainForDefn extends (::[ExstInducDefn, HNil]) => Option[GeneratorNode[Term]] with Product with Serializable
- case object EnterIsle extends (Term, TermState) => TermState with Product with Serializable
Wrapper for entering an isle to allow equality and
toString
to work. - case object GetVar extends (Typ[Term]) => Term with Product with Serializable
Wrapper for getting variables to allow equality and
toString
to work. - case object Incl1Node extends (::[Typ[Term], HNil]) => Option[GeneratorNode[Term]] with Product with Serializable
- case object Incl2Node extends (::[Typ[Term], HNil]) => Option[GeneratorNode[Term]] with Product with Serializable
- case object LamApply extends (Term, Term) => Term with Product with Serializable
Wrapper for lambda to allow equality and
toString
to work. - case object LamFunc extends (Term, Term) => ExstFunc with Product with Serializable
Wrapper for lambda giving functions to allow equality and
toString
to work. - case object PiApply extends (Term, Typ[Term]) => Typ[Term] with Product with Serializable
Wrapper for Pi to allow equality and
toString
to work. - case object Proj2 extends (Typ[Term], Term) => Term with Product with Serializable
Wrapper for a specific projection to allow equality and
toString
to work. - case object SigmaApply extends (Term, Typ[Term]) => Typ[Term] with Product with Serializable
Wrapper for Sigma to allow equality and
toString
to work. - case object TypViaZeroNode extends (::[Typ[Term], HNil]) => Option[GeneratorNode[Term]] with Product with Serializable
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated