 
Summary: Typed Applicative Structures and
Normalization by Evaluation for System F #
Andreas Abel
Department of Computer Science
LudwigMaximiliansUniversity Munich
Abstract. We present a normalizationbyevaluation (NbE) algorithm for Sys
tem F # with ##equality, the simplest impredicative type theory with computa
tion on the type level. Values are kept abstract and requirements on values are kept
to a minimum, allowing many different implementations of the algorithm. The al
gorithm is verified through a general model construction using typed applicative
structures, called type and object structures. Both soundness and completeness of
NbE are conceived as an instance of a single fundamental theorem.
1 Introduction and Related Work
The CurryHoward isomorphism, which identifies proofs with programs and proposi
tions with types, is the basis of several typetheoretic theorem provers, such as Coq
[INR07], Agda [Nor07], Epigram [CAM07] and LEGO [Pol94a]. In these systems,
checking the validity of proofs or typings relies on deciding equality of types. Types
are recognized as equal if they have the same normal form, this is why normalization
plays a key role in the study of the theories underlying these theorem provers, such as
the Calculus of Constructions (CC) which underlies Coq and LEGO, and MartinL˜of
