object HoTT
Core of Homotopy Type Theory (HoTT) implementation. Includes: - terms : Term, - types : Typ - universes - functions and dependent functions (see [FuncLike], [Func]) - function types FuncTyp and pi-types PiDefn, - lambda definitions LambdaLike, - pairs PairTerm and dependent pairs DepPair - product types ProdTyp and sigma types SigmaTyp - Coproduct types PlusTyp, the Unit type Unit and the empty type Zero - recursion and induction functions for products, coproducts
General inductive types are
implemented here, but in the induction package.not
- Alphabetic
- By Inheritance
- HoTT
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait AbsPair[+U <: Term with Subs[U], +V <: Term with Subs[V]] extends Term with Subs[AbsPair[U, V]]
Abstract pair, parametrized by scala types of components, generally a (dependent) pair object or a product type.
- trait AnySym extends AnyRef
Symbol - may be a name or a formal expression
- class ApplnFailException extends IllegalArgumentException
- case class ApplnSym[W <: Term with Subs[W], U <: Term with Subs[U]](func: FuncLike[W, U], arg: W) extends AnySym with Product with Serializable
A symbol representing a formal application
- class AtomicSym extends AnySym
A constant symbol, so a name.
- trait AtomicTerm extends Term with Subs[AtomicTerm]
Objects with simple substitution.
- case class AvoidVarFormalException(func: Term, arg: Term, variable: Term) extends Exception with Product with Serializable
- case class AvoidVarInvarianceException(variable: Term, term: Term, result: Term) extends Exception with Product with Serializable
- trait BaseUniv extends AnyRef
A universe that is equal (in scala) to
Type
but may have refined scala type. - class Cnst extends Term
Just a wrapper to allow singleton objects
- class CnstFunc[U <: Term with Subs[U], V <: Term with Subs[V]] extends Cnst with Func[U, V]
- class CnstFuncLike[U <: Term with Subs[U], V <: Term with Subs[V]] extends Cnst with FuncLike[U, V]
- case class CodomSym(func: AnySym) extends AnySym with Product with Serializable
Symbol for co-domain of a symbolic function
- case class Composition[U <: Term with Subs[U], V <: Term with Subs[V], W <: Term with Subs[W]](f: Func[V, W], g: Func[U, V]) extends Func[U, W] with Subs[Composition[U, V, W]] with Product with Serializable
- trait ConstantTerm extends Term
Term invariant under substitution.
Term invariant under substitution. Creating a new object from this is not valid.
- trait ConstantTyp extends Typ[Term]
Term invariant under substitution.
Term invariant under substitution. Creating a new object from this is not valid.
- trait DepFunc[W <: Term with Subs[W], U <: Term with Subs[U]] extends FuncLike[W, U]
a dependent function - rarely used trait as not closed under substitution.
- class DepFuncDefn[W <: Term with Subs[W], U <: Term with Subs[U]] extends DepFunc[W, U]
A dependent function defined by a scala funcion
- case class DepPair[W <: Term with Subs[W], U <: Term with Subs[U]](first: W, second: U, fibers: TypFamily[W, U]) extends Term with AbsPair[W, U] with Product with Serializable
Dependent pair (a: A, b : B(a)) - element of a Sigma type.
- case class DepSymbolicFunc[W <: Term with Subs[W], U <: Term with Subs[U]](name: AnySym, fibers: TypFamily[W, U]) extends FuncLike[W, U] with Symbolic with Product with Serializable
Symbolic dependent function, acts formally.
- case class DomSym(func: AnySym) extends AnySym with Product with Serializable
Symbol for domain of a symbolic function
- trait Equality[U <: Term with Subs[U]] extends Term with Subs[Equality[U]]
- trait ExstFunc extends AnyRef
- trait Func[W <: Term with Subs[W], +U <: Term with Subs[U]] extends FuncLike[W, U] with Subs[Func[W, U]]
a function (pure, not dependent), i.e., a term in a function type, has a codomain and a fixed type for the domain.
- class FuncDefn[W <: Term with Subs[W], U <: Term with Subs[U]] extends Func[W, U]
A function defined by a scala function
- trait FuncLike[W <: Term with Subs[W], +U <: Term with Subs[U]] extends Term with (W) => U with Subs[FuncLike[W, U]]
Terms that are functions or dependent functions, is a scala function, but the apply is not directly defined - instead the method FuncLike#act is defined.
- case class FuncTyp[W <: Term with Subs[W], U <: Term with Subs[U]](dom: Typ[W], codom: Typ[U]) extends GenFuncTyp[W, U] with Typ[Func[W, U]] with Subs[FuncTyp[W, U]] with Product with Serializable
Function type - pure, not dependent.
- abstract class GenFuncTyp[W <: Term with Subs[W], U <: Term with Subs[U]] extends Typ[FuncLike[W, U]] with Subs[GenFuncTyp[W, U]]
Possibly dependent function type.
Possibly dependent function type. Meant to override equality so that an object with scala type a Pi-Type but with fiber a constant is equal to the corresponding function type.
- case class IdentityTyp[U <: Term with Subs[U]](dom: Typ[U], lhs: U, rhs: U) extends Typ[Equality[U]] with Subs[IdentityTyp[U]] with Product with Serializable
The identity type.
The identity type. This is the type
lhs = rhs
- trait IndInducFuncLike[W <: Term with Subs[W], +U <: Term with Subs[U], F <: Term with Subs[F], IDFT <: Term with Subs[IDFT]] extends FuncLike[W, U]
common trait for indexed induction functions, for serialization and pretty printing.
- trait IndRecFunc[W <: Term with Subs[W], +U <: Term with Subs[U], F <: Term with Subs[F]] extends Func[W, U]
common trait for indexed recurion functions, for serialization and pretty printing.
- trait InducFuncLike[W <: Term with Subs[W], +U <: Term with Subs[U]] extends FuncLike[W, U]
common trait for induction functions, for serialization and pretty printing.
- class InnerSym[U <: Term with Subs[U]] extends AnySym
A symbol to be used to generate new variables of a type, without changing toString.
- case class LambdaFixed[X <: Term with Subs[X], Y <: Term with Subs[Y]](variable: X, value: Y) extends LambdaLike[X, Y] with Func[X, Y] with Subs[LambdaFixed[X, Y]] with Product with Serializable
lambda which is known to be pure, i.e., have fixed codomain; this is reflected in its scala class; one should usually not use the constructor of this case class, instead use the function lambda or the syntactic sugar for this, e.g.
lambda which is known to be pure, i.e., have fixed codomain; this is reflected in its scala class; one should usually not use the constructor of this case class, instead use the function lambda or the syntactic sugar for this, e.g.
val f = x :-> y
this creates a new variable to avoid name collisions.
- Note
that this construction gives a runtime error if the type of
y
depends onx
.
- sealed trait LambdaLike[X <: Term with Subs[X], Y <: Term with Subs[Y]] extends FuncLike[X, Y]
A lambda-expression; variable is mapped to value.
A lambda-expression; variable is mapped to value. This may or may not be a dependent function. If it is required at compile time that it is not dependent, and hence has scala type Func, then use the class LambdaFixed
- Note
Equality is overriden here, so that pure functions disguised as dependent ones can be equal to undisguised pure functions.
- case class LambdaTerm[X <: Term with Subs[X], Y <: Term with Subs[Y]](variable: X, value: Y) extends LambdaLike[X, Y] with Product with Serializable
functions given by lambda, which may be dependent; even if it is pure, the scala type does not show this; one should usually not use the constructor of this case class, instead use the function lmbda or the syntactic sugar for this, e.g.
functions given by lambda, which may be dependent; even if it is pure, the scala type does not show this; one should usually not use the constructor of this case class, instead use the function lmbda or the syntactic sugar for this, e.g.
val f = x :~> y
Note the
:~>
, not:->
These create a new variable to avoid name collisions. - case class LeftProjSym(name: AnySym) extends AnySym with Product with Serializable
symbol for left component in pair from a given symbol
- case class MereWitness(value: Term) extends AnySym with Product with Serializable
- trait MiscAppln extends Term
record a function as an application, especially for serialization
- case class Name(name: String) extends AtomicSym with Product with Serializable
Strings as symbols
- trait NameFactory extends AnyRef
- case class NamedDepFunc[W <: Term with Subs[W], +U <: Term with Subs[U]](name: AnySym, func: FuncLike[W, U]) extends FuncLike[W, U] with Product with Serializable
wrapped dependent function adding name
- case class NamedFunc[W <: Term with Subs[W], +U <: Term with Subs[U]](name: AnySym, func: Func[W, U]) extends Func[W, U] with Product with Serializable
wrapped function adding name
- case class NotTypeException(tp: Term) extends IllegalArgumentException with Product with Serializable
- case class OptDepFuncDefn[W <: Term with Subs[W]](func: (W) => Option[Term], dom: Typ[W]) extends DepFunc[W, Term] with Subs[OptDepFuncDefn[W]] with Product with Serializable
- case class PairTerm[U <: Term with Subs[U], V <: Term with Subs[V]](first: U, second: V) extends AbsPair[U, V] with Subs[PairTerm[U, V]] with Product with Serializable
Term (a, b) in A times B
- case class PiDefn[W <: Term with Subs[W], U <: Term with Subs[U]](variable: W, value: Typ[U]) extends GenFuncTyp[W, U] with Typ[FuncLike[W, U]] with Subs[PiDefn[W, U]] with Product with Serializable
Pi-Type, defined in terms of a variable and value, i.e.,
\Pi_{x: X}Q
(latex) withx
thevariable
andQ
thevalue
- case class PiSymbolicFunc[W <: Term with Subs[W], U <: Term with Subs[U]](name: AnySym, variable: W, value: Typ[U]) extends FuncLike[W, U] with Symbolic with Product with Serializable
slightly different DepSymbolicFunc is used instead as this causes some tests to fail
- case class PlusTyp[U <: Term with Subs[U], V <: Term with Subs[V]](first: Typ[U], second: Typ[V]) extends Typ[Term] with Subs[PlusTyp[U, V]] with Product with Serializable
coproduct type A + B
- case class ProdTyp[U <: Term with Subs[U], V <: Term with Subs[V]](first: Typ[U], second: Typ[V]) extends Typ[PairTerm[U, V]] with AbsPair[Typ[U], Typ[V]] with Subs[ProdTyp[U, V]] with Product with Serializable
The product type
A times B
The product type
A times B
- first
the first component
- second
the second component
- trait RecFunc[W <: Term with Subs[W], +U <: Term with Subs[U]] extends Func[W, U]
common trait for recursion functions, for serialization and pretty printing.
- case class Refl[U <: Term with Subs[U]](dom: Typ[U], value: U) extends Equality[U] with Subs[Refl[U]] with Product with Serializable
the
reflexivity
term with type an equalityvalue = value
- implicit class RichTerm[U <: Term with Subs[U]] extends AnyRef
Operations on terms
- case class RightProjSym(name: AnySym) extends AnySym with Product with Serializable
symbol for right component in pair from a given symbol
- case class SigmaTyp[W <: Term with Subs[W], U <: Term with Subs[U]](fibers: TypFamily[W, U]) extends Typ[AbsPair[W, U]] with Subs[SigmaTyp[W, U]] with Product with Serializable
Sigma Type, i.e., dependent pair type.
- trait SmallTyp extends Typ[Term]
Types with symbolic objects not refined.
- trait Subs[+U <: Term] extends AnyRef
specify result of substitution a typical class is closed under substitution.
- case class SymbEquality[U <: Term with Subs[U]](name: AnySym, typ: IdentityTyp[U]) extends Equality[U] with Symbolic with Product with Serializable
- case class SymbObj[+U <: Term with Subs[U]](name: AnySym, typ: Typ[U]) extends Term with Symbolic with Product with Serializable
symbolic objects that are Terms but no more refined ie, not pairs, formal functions etc.
- case class SymbProp(name: AnySym) extends Typ[Term] with Symbolic with Product with Serializable
Symbolic propositions.
Symbolic propositions. All symbolic objects of this type are witnesses, hence equal.
- case class SymbTyp(name: AnySym, level: Int) extends Typ[Term] with Symbolic with Product with Serializable
Symbolic types, which the compiler knows are types.
- trait Symbolic extends Term
terms that are given (and determined) by name; does not include, for instance, pairs each of whose instance is given by a name; most useful for pattern matching, where the name contains information about formal function applications etc.
- case class SymbolicFunc[W <: Term with Subs[W], U <: Term with Subs[U]](name: AnySym, dom: Typ[W], codom: Typ[U]) extends Func[W, U] with Subs[Func[W, U]] with Symbolic with Product with Serializable
A symbolic function, acts formally.
- trait Term extends Subs[Term]
A HoTT term.
- case class TermSymbol(term: Term) extends AnySym with Product with Serializable
term as a symbol
- trait TermSyms extends AnyRef
Symbols for printing, allowing choice between e.g.
Symbols for printing, allowing choice between e.g. unicode and plain text
- trait Typ[+U <: Term with Subs[U]] extends Term with Subs[Typ[U]]
HoTT Type; The compiler knows that objects have scala-type extending U.
HoTT Type; The compiler knows that objects have scala-type extending U. In particular, we can specify that the objects are types, functions, dependent functions etc.
- U
bound on scala type of objects with
this
as type. in practice, it is symbolic objects of the type whose scala type is bounded.
- type TypFamily[W <: Term with Subs[W], +U <: Term with Subs[U]] = Func[W, Typ[U]]
type family
- type Univ = Typ[Typ[Term]]
Notation for universes.
- case class Universe(level: Int) extends Univ with Subs[Universe] with Product with Serializable
The (usual) universes
- trait Variable[U <: Term with Subs[U]] extends AnyRef
Deprecated Type Members
- case class PiTyp[W <: Term with Subs[W], U <: Term with Subs[U]](fibers: TypFamily[W, U]) extends GenFuncTyp[W, U] with Typ[FuncLike[W, U]] with Subs[PiTyp[W, U]] with Product with Serializable
For all/Product for a type family.
For all/Product for a type family. This is the type of dependent functions. deprecated in favour of PiDefn
- Annotations
- @deprecated
- Deprecated
(Since version 14/12/2016) Use PiDefn
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
- val One: Unit.type
- val Type: Universe
The first universe
- def applyFunc(func: Term, arg: Term): Term
- def applyFuncOpt(func: Term, arg: Term): Option[Term]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def asLambdas[U <: Term with Subs[U]](term: U): Option[U]
- def avoidVar[U <: Term with Subs[U]](t: Term, x: U): U
returns x after modifying to avoid clashes of variables
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def composition[U <: Term with Subs[U], V <: Term with Subs[V], W <: Term with Subs[W]](f: Func[V, W], g: Func[U, V]): Composition[U, V, W]
composition of functions, defined as a lambda
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def evalSym(symbobj: (AnySym) => Term)(x: Term, y: Term): (AnySym) => Option[Term]
- def fold(fn: Term)(args: Term*): Term
fold using function application after applying functions; used mainly when type information is lost (at runtime).
- def foldOpt(fn: Term)(args: Term*): Option[Term]
- def foldnames: (Term, List[AnySym]) => Term
folds in as many terms with names given by the list as possible, applying terms as long as the result is a function and the list is non-empty.
- def foldterms: (Term, List[Term]) => Term
folds in as many terms of the list as possible, applying terms as long as the result is a function and the list is non-empty.
- def fromSkolemized(typ: Typ[Term])(y: Term): Term
- def funcToLambda[U <: Term with Subs[U], V <: Term with Subs[V]](fn: FuncLike[U, V]): LambdaLike[U, V]
converts a general function
f
to a lambdax :-> f(x)
; if f is already a lambda, returnsf
without boxing - def funcToLambdaFixed[U <: Term with Subs[U], V <: Term with Subs[V]](fn: Func[U, V]): LambdaFixed[U, V]
- def getArg[D <: Term with Subs[D], U <: Term with Subs[U]](func: FuncLike[D, U]): (Term) => Option[D]
returns
Some(x)
if the term is of the formf(x)
withf
given, otherwise Nonereturns
Some(x)
if the term is of the formf(x)
withf
given, otherwise None- func
function f to match for f(x)
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def getName(n: Int): String
- def getTypFamily(dom: Term, target: Typ[Term]): Option[Term]
- def getTypVariables(n: Int)(t: Term): List[Typ[Term]]
- def getVar[U <: Term with Subs[U]](typ: Typ[U])(implicit factory: NameFactory): U
return variable with name from factory.
- def getVariables(n: Int)(t: Term): List[Term]
returns variab in the term, converting functions to lambdas if needed.
- def getVars(t: Term, n: Int): (Vector[Term], Term)
- def hasName(sym: AnySym): (Term) => Boolean
checks if symbolic object has given name.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def id[U <: Term with Subs[U]](typ: Typ[U]): Func[U, U]
the identity function defined as a lambda.
- var ignoreLevels: Boolean
- def instantiate(substitutions: (Term) => Option[Term], target: Typ[Term]): (Term) => Option[Term]
instantiates variable values in a term if it is made from lambdas, to give a term (if possible) of a required HoTT type.
instantiates variable values in a term if it is made from lambdas, to give a term (if possible) of a required HoTT type.
- substitutions
substitutions to make.
- target
required type after instantiation
- def isFunc: (Term) => Boolean
returns whether term is a function
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isProp(x: Typ[Term]): Boolean
- def isPropFmly(t: Typ[Term]): Boolean
- def isTyp: (Term) => Boolean
returns whether term is a type
- def isTypFamily: (Term) => Boolean
returns whether term is a type family
- def isUniv(x: Term): Boolean
returns whether term is a universe
- def isVar(t: Term): Boolean
returns whether term is a variable
- def isWitness(t: Term): Boolean
- def lambda[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: V): FuncLike[U, V]
constructor for an (in general) dependent lambda; creates a new variable and substitutes this in the value, to avoid name collisions; it is better style to use the syntactic sugar e.g.
constructor for an (in general) dependent lambda; creates a new variable and substitutes this in the value, to avoid name collisions; it is better style to use the syntactic sugar e.g.
val f = x :~> y
Note the
:~>
, not:->
- def lambdaClosure(vars: Vector[Term])(t: Term): Term
returns term as a (lambda) function of the variables in
vars
on which it depends. - def lambdaPair[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: V): AbsPair[U, V]
- def lmbda[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: V): Func[U, V]
constructor for a pure lambda, i.e., not a dependent function; this gives a runtime error if the type of the variable depends on the value.
constructor for a pure lambda, i.e., not a dependent function; this gives a runtime error if the type of the variable depends on the value. creates a new variable and substitutes this in the value, to avoid name collisions; it is better style to use the syntactic sugar e.g.
val f = x :-> y
- def maxLambda(t: Term): (Vector[Term], Term)
- lazy val mkPair: (Term, Term) => AbsPair[Term, Term]
makes a pair with the appropriate runtime type
- def nameCard(s: String): Int
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def negate: (Typ[Term]) => Typ[Term]
Negation with some simplification
- def negateContra(typ: Typ[Term]): Term
Proof of A -> negate(A) -> Zero
- def nextChar(s: Iterable[Char]): Char
Symbol factory
- def nextName(name: String): String
- def nextVar(s: Iterable[Term])(typ: Typ[Term]): Term
get variable from symbol factory
- def nextVar(typ: Typ[Term], vars: Vector[Term], prefix: String = "@"): Term
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def optlambda(variable: Term): (Term) => Term
lambda if necessary, otherwise constant.
- def outerSym(sym: Symbolic): Symbolic
Unwraps symbols if they are wrapped - wrapping typical happens in lambdas.
- def pair[U <: Term with Subs[U], V <: Term with Subs[V]](first: Typ[U] with Subs[Typ[U]], second: Typ[V] with Subs[Typ[V]]): ProdTyp[U, V]
overloaded method returning a pair object or a pair type.
- def pair[U <: Term with Subs[U], V <: Term with Subs[V]](first: U, second: V): PairTerm[U, V]
overloaded method returning a pair object or a pair type.
- def partialLambdaClosures(vars: Vector[Term])(t: Term): Vector[Term]
returns all partial lambda closures
- def pi[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: Typ[V]): Typ[FuncLike[U, V]]
lambda-like syntax for piDefn
- def piClosure(vars: Vector[Term])(t: Typ[Term]): Typ[Term]
returns type as a Pi-Type of the variables in
vars
on which it depends. - def piDefn[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: Typ[V]): PiDefn[U, V]
constructor for pi-Types; creates a new variable and substitutes this in the value, to avoid name collisions; it is better style to use the syntactic sugar e.g.
constructor for pi-Types; creates a new variable and substitutes this in the value, to avoid name collisions; it is better style to use the syntactic sugar e.g.
val P = x ~>: A
Note the
~>:
, not->:
- def polyLambda(variables: List[Term], value: Term): Term
repeatedly apply lambda
- def prefixedNextName(fullname: String): String
- def replaceVar[U <: Term with Subs[U]](variable: U)(x: Term, y: Term): U with Subs[U]
- val resizedEqual: (Typ[Term], Typ[Term]) => Boolean
- def sigma[U <: Term with Subs[U], V <: Term with Subs[V]](variable: U)(value: Typ[V]): Typ[AbsPair[U, V]]
Sigma type defined using lmbda, so with new variable created.
- def skipApply(f: Term, x: Term, n: Int): Option[Term]
- def skipVars(t: Term, n: Int): Option[Term]
- val skolemize: (Typ[Term]) => Typ[Term]
- def symSubs[U <: Term](symbobj: (AnySym) => U)(x: Term, y: Term): (AnySym) => U
substitute symbols, with the only non-trivial substitution for formal applications.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def termSymbol(term: Term): AnySym
- def toString(): String
- Definition Classes
- AnyRef → Any
- def toTyp(t: Term): Typ[U] forSome {type U <: Term with Subs[U]}
- def toTypOpt(t: Term): Option[Typ[U] forSome {type U <: Term with Subs[U]}]
- def typFamilyDepth: (Term) => Option[Int]
- def typFamilyTarget: (Term) => Option[Typ[Term]]
- def typOpt(x: Term): Option[Typ[Term]]
- def univlevel: (Typ[Typ[Term]]) => Int
- def usedChars(s: Iterable[Term]): Iterable[Char]
Helper for symbol factory
- def vacuous[U <: Term with Subs[U]](codom: Typ[U]): Func[Term, U]
Map from 0 to A.
- def vartyp[U <: Term with Subs[U]](t: U)(implicit arg0: Variable[U]): Typ[U]
- var verbose: Boolean
- 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])
- def witVar[U <: Term with Subs[U]](t: U): U
- object AbsPair
- object ApplnFailException extends Serializable
- implicit object DefaultNameFactory extends NameFactory
factory for variable names
- object ExstFunc
- object Fold
convenience methods to apply methods of special scala types such as functions without the compiler knowing that the object has the special type.
- object FormalAppln
Pattern matching for a formal application.
- case object HashSym extends AtomicSym with Product with Serializable
- object IdentityTyp extends Serializable
- object InnerSym
- object MiscAppln
- object Name extends Serializable
- object NamedTerm
- object PiDefn extends Serializable
- object PlusTyp extends Serializable
- object ProdTyp extends Serializable
- case object Prop extends BaseUniv with Univ with Product with Serializable
- object Sgma
- object SigmaTyp extends Serializable
- object SimpleSyms extends TermSyms
plain text symbols for maps etc.
- case object Star extends AtomicTerm with Product with Serializable
the object in the Unit type
- object Subs
- object Tuple
- object UnicodeSyms extends TermSyms
unicode symbols for maps etc.
- case object Unit extends SmallTyp with Product with Serializable
Unit type.
- object Variable
- case object Zero extends SmallTyp with Product with Serializable
Empty type
- case object vacuousSym extends AtomicSym with Product with Serializable
Symbol for map 0 -> A
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated