If we allow B to be a family in the type
, we get a
new type, denoted by fun(A;x.B), or
, which
generalizes the type
. The rules are:
![]()
![\begin{displaymath}
\frac{{\sf E} \vdash f \in fun(A;x.B) {\sf E} \vdash a \in A}
{{\sf E} \vdash f(a) \in B[a/x]}\end{displaymath}](img65.gif)
Example Back to our example Dates. We see that
is just
, where Day is a family of twelve
types. And
is a term in it.