@MISC{Section_appendix1:, author = {In This Section}, title = {Appendix 1: Product Types in F !}, year = {} }

Share

OpenURL

Abstract

for short, raw terms) is de ned inductively as follows: c 2 P, whenever c 2 , x 2 P, whenever x 2 X , (MN) 2 P, whenever M;N 2 P, hM; Ni 2 P, whenever M;N 2 P, 1 (M); 2 (M) 2 P, whenever M 2 P, (x: : M) 2 P, whenever x 2 X , 2 T , and M 2 P, (M) 2 P, whenever 2 T and M 2 P, (t: K: M) 2 P, whenever t 2 V, K 2 K, and M 2 P. The notions of substitution and -equivalence are extended in the obvious way. In order to deal with product types, it is necessary to add the following kind-checking rule: . : ? . : ? . : ? () The de nition of the relation ! ! does not have to be changed, since the congruence rule takes care of ), , and K . It is easy to see that corollary 6.18 and corollary 6.19 hold for the new class of types. Thus, every ( -equivalence class of) type that kind-checks has a unique -normal form. The following inference rules need to be added to the proof system used for typechecking terms. . M : . N :