case class IdShape[H <: Term with Subs[H]]() extends ConstructorShape[HNil, H, H] with Product with Serializable
ConstructorShape corresponding to the introduction rule W; all constructor patterns are constructed from this.
- Alphabetic
- By Inheritance
- IdShape
- Serializable
- Product
- Equals
- ConstructorShape
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new IdShape()
Value Members
- def -->:(that: IdShape.type): FuncConsShape[HNil, H, H, H]
returns shape
that -> this' where
thatmust be the shape for inductive type
Wreturns shape
that -> this' where
thatmust be the shape for inductive type
W- Definition Classes
- ConstructorShape
- def -->:[F <: Term with Subs[F]](that: IterFuncShape[H, F]): FuncConsShape[HNil, H, H, F]
returns shape
that -> this' where
thatis of the form
W,
A -> Wetc; invoking this is an error if we
thatis independent of
Wreturns shape
that -> this' where
thatis of the form
W,
A -> Wetc; invoking this is an error if we
thatis independent of
W- Definition Classes
- ConstructorShape
- def ->:[T <: Term with Subs[T]](tail: Typ[T]): CnstFuncConsShape[HNil, H, H, T, Nothing]
returns shape
tail ->: this
where tail must be independent of the inductive typeW
being defined.returns shape
tail ->: this
where tail must be independent of the inductive typeW
being defined.- Definition Classes
- ConstructorShape
- def apply(tp: Typ[H]): Typ[H]
returns HoTT type of the introduction rule given the (inductive) type W (to be the head).
returns HoTT type of the introduction rule given the (inductive) type W (to be the head).
- Definition Classes
- IdShape → ConstructorShape
- val introArgs: Int
- Definition Classes
- IdShape → ConstructorShape
- def lift[Cod <: Term with Subs[Cod], RecDataType <: Term with Subs[RecDataType], InducDataType <: Term with Subs[InducDataType]](implicit mp: ConstructorPatternMapper[HNil, Cod, H, H, RecDataType, InducDataType]): ConstructorPatternMap[Cod, H, H, RecDataType, InducDataType]
lift to ConstructorPatternMap using an implicit ConstructorPatternMapper, which could from the mapper method.
lift to ConstructorPatternMap using an implicit ConstructorPatternMapper, which could from the mapper method.
- Definition Classes
- ConstructorShape
- def mapped[Cod <: Term with Subs[Cod]]: ConstructorPatternMap[Cod, H, H, RecDataType, InducDataType] forSome {type RecDataType <: Term with Subs[RecDataType], type InducDataType <: Term with Subs[InducDataType]}
lift to ConstructorPatternMap using the result of the mapper method.
lift to ConstructorPatternMap using the result of the mapper method.
- Definition Classes
- ConstructorShape
- def mapper[C <: Term with Subs[C]]: ConstructorPatternMapper[HNil, C, H, H, C, C]
helper to give ConstructorPatternMap when scala type of codomain is specified.
helper to give ConstructorPatternMap when scala type of codomain is specified.
- Definition Classes
- IdShape → ConstructorShape
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def subs(x: Term, y: Term): IdShape[H]
- Definition Classes
- IdShape → ConstructorShape
- def symbcons(name: AnySym, tp: Typ[H]): ConstructorShape.symbcons._1.type.Obj with Subs[ConstructorShape.symbcons._1.type.Obj] forSome {val _1: Typ[H]}
returns term giving introduction rule given inductive type and name
returns term giving introduction rule given inductive type and name
- Definition Classes
- ConstructorShape
- def ~>:[T <: Term with Subs[T]](tailVar: T): CnstDepFuncConsShape[HNil, H, H, T, Nothing]
returns dependent shape
tail ~>: this
where tail must be independent of the inductive typeW
being defined.returns dependent shape
tail ~>: this
where tail must be independent of the inductive typeW
being defined.- Definition Classes
- ConstructorShape