Packages

abstract class TypFamilyMap[H <: Term with Subs[H], F <: Term with Subs[F], C <: Term with Subs[C], Index <: HList, IF <: Term with Subs[IF], IDF <: Term with Subs[IDF], IDFT <: Term with Subs[IDFT]] extends AnyRef

shape of a type family, together with the type of a codomain; fixing scala types of functions and dependent functions on the type family

Index

scala type of the index

IF

scala type of an iterated function on the inductive type family, with codomain with terms of type Cod.

IDF

scala type of an iterated dependent function on the inductive type family, with codomain with terms of type Cod.

IDFT

scala type of an iterated type family on the inductive type family, i.e., with codomain with terms of type Typ[Cod] methods allow restricting (dependent) functions and type families to indices and building (dependent) functions from such restrictions.

Linear Supertypes
AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypFamilyMap
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new TypFamilyMap()(implicit arg0: TermList[Index])

Abstract Value Members

  1. abstract def depRestrict(f: IDF, ind: Index): FuncLike[H, C]

    restricts iterated dependent function to an index

  2. abstract def iterDepFunc(funcs: (Index) => FuncLike[H, C]): IDF

    returns iterated dependent function given functions for each index

  3. abstract def iterDepFuncTyp(w: Typ[H], xs: IDFT): Typ[IDF]

    returns HoTT type for iterated dependent functions

  4. abstract def iterFunc(funcs: (Index) => Func[H, C]): IF

    returns iterated function given functions for each index

  5. abstract def iterFuncTyp(w: Typ[H], x: Typ[C]): Typ[IF]

    returns HoTT type for iterated functions

  6. abstract val pattern: TypFamilyPtn[H, F, Index]

    the underlying pattern (to access methods defined on it)

  7. abstract def restrict(f: IF, ind: Index): Func[H, C]

    restricts iterated function to an index

  8. abstract def subs(x: Term, y: Term): TypFamilyMap[H, F, C, Index, IF, IDF, IDFT]
  9. abstract def typRestrict(xs: IDFT, ind: Index): Func[H, Typ[C]]

    restricts iterated type family to an index