case class IndTyp[SS <: HList, Intros <: HList](name: String, seqDom: ConstructorSeqDom[SS, Term, Intros]) extends Typ[Term] with Product with Serializable
- Alphabetic
- By Inheritance
- IndTyp
- Serializable
- Product
- Equals
- Typ
- Term
- Subs
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new IndTyp(name: String, seqDom: ConstructorSeqDom[SS, Term, Intros])
Type Members
Value Members
- object Elem
Pattern for element of the given type.
Pattern for element of the given type.
- Definition Classes
- Typ
- def !:(term: Term): Term
checks term is of this type and returns it; useful for documentation.
checks term is of this type and returns it; useful for documentation.
- Definition Classes
- Typ
- def &&[UU >: Term <: Term with Subs[UU], V <: Term with Subs[V]](that: Typ[V]): ProdTyp[UU, V]
returns product type, mainly to use for "and" for structures
returns product type, mainly to use for "and" for structures
- Definition Classes
- Typ
- def &:[UU >: Term <: Term with Subs[UU], V <: Term with Subs[V]](variable: V): SigmaTyp[V, UU]
- Definition Classes
- Typ
- def ++[UU >: Typ[Term] <: Typ[Term] with Subs[UU], VV <: Term with Subs[VV], V <: Typ[VV] with Subs[V]](those: V): SigmaTyp[UU, VV]
returns Sigma-Type, mainly to use as "such that", for example a group type is this with product etc.
returns Sigma-Type, mainly to use as "such that", for example a group type is this with product etc. dependent on this.
- Definition Classes
- Typ
- def ->:[W <: Term with Subs[W], UU >: Term <: Term with Subs[UU]](that: Typ[W]): FuncTyp[W, UU]
function type:
this -> that
function type:
this -> that
- Definition Classes
- Typ
- def ::(name: String): Term
symbolic object with given name
symbolic object with given name
- Definition Classes
- Typ
- def Var(implicit factory: NameFactory): Term
new variable from a factory.
new variable from a factory.
- Definition Classes
- Typ
- val baseTyp: ConstructorSeqTL[SS, Term, Intros]
- def dependsOn(that: Term): Boolean
returns whether
this
depends onthat
returns whether
this
depends onthat
- Definition Classes
- Term
- def indepOf(that: Term): Boolean
returns whether
this
is independent ofthat
.returns whether
this
is independent ofthat
.- Definition Classes
- Term
- val name: String
- def newobj: Nothing
A new object with the same type, to be used in place of a variable to avoid name clashes.
- def obj: Term
factory for producing objects of the given type.
factory for producing objects of the given type. can use {{innervar}} if one wants name unchanged.
- Definition Classes
- Typ
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def replace(x: Term, y: Term): Typ[Term] with Subs[Typ[Term]]
refine substitution so if x and y are both of certain forms such as pairs or formal applications, components are substituted.
refine substitution so if x and y are both of certain forms such as pairs or formal applications, components are substituted.
- Definition Classes
- Subs
- val seqDom: ConstructorSeqDom[SS, Term, Intros]
- lazy val struct: ConstructorSeqTL[SS, Term, Intros]
- def subs(x: Term, y: Term): IndTyp[SS, Intros]
substitute x by y recursively in
this
. - def sym(implicit name: Name): Term
shortcut for symbolic object
shortcut for symbolic object
- Definition Classes
- Typ
- def symbObj(name: AnySym): Term with Subs[Term]
A symbolic object with this HoTT type, and with scala-type Obj
A symbolic object with this HoTT type, and with scala-type Obj
- Definition Classes
- Typ
- val typ: Universe
type of a type is a universe.
- lazy val typlevel: Int
- Definition Classes
- Typ
- def usesVar(t: Term): Boolean
returns whether the variable
t
is used as a variable in a lambda definition.returns whether the variable
t
is used as a variable in a lambda definition.- Definition Classes
- Term
- def variable(name: AnySym): SymbObj[Term]
A symbolic object with this HoTT type, and with scala-type Obj
- def ||[UU >: Term <: Term with Subs[UU], V <: Term with Subs[V]](that: Typ[V]): PlusTyp[UU, V]
returns coproduct type, mainly to use for "or".
returns coproduct type, mainly to use for "or".
- Definition Classes
- Typ
- def ~>:[UU >: Term <: Term with Subs[UU], V <: Term with Subs[V]](variable: V): GenFuncTyp[V, UU]
dependent function type (Pi-Type) define by a lambda:
this
depends on thevariable
, which hence gives a type family; note that a new variable is created and substituted inthis
to avoid name clashes.dependent function type (Pi-Type) define by a lambda:
this
depends on thevariable
, which hence gives a type family; note that a new variable is created and substituted inthis
to avoid name clashes.- Definition Classes
- Typ