 
Summary: A Modular TypeChecking Algorithm for
Type Theory with Singleton Types and
Proof Irrelevance
Andreas Abel 1 , Thierry Coquand 2 , and Miguel Pagano 3
1 LudwigMaximiliansUniversit˜at M˜unchen, abel@informatik.unimuenchen.de
2 G˜oteborg University, coquand@cs.chalmers.se
3 Universidad Nacional de C’ordoba, miguel.pagano@gmail.com
Abstract. We define a logical framework with singleton types and one
universe of small types. We give the semantics using a PER model; it is
used for constructing a normalisationbyevaluation algorithm. We prove
completeness and soundness of the algorithm; and get as a corollary the
injectivity of type constructors. Then we give the definition of a correct
and complete typechecking algorithm for terms in normal form. We
extend the results to proofirrelevant propositions.
1 Introduction and Related Work
One of the raisons d'“etre of proofcheckers like Agda [28], Coq [20], and Epigram
[25] is to decide if a given term has some type; i.e., if a term corresponds to a
proof of a proposition [19]. Hence, the convenience of such a system is, in part,
determined by the types for which the system can check membership. We ex
tend the decidability of typechecking done in previous works [1, 2] for MartinL˜of
