Results 1 
2 of
2
Verifying a Semantic βηConversion Test for MartinLöf Type Theory
, 2008
"... Typechecking algorithms for dependent type theories often rely on the interpretation of terms in some semantic domain of values when checking equalities. Here we analyze a version of Coquand’s algorithm for checking the βηequality of such semantic values in a theory with a predicative universe hi ..."
Abstract

Cited by 12 (9 self)
 Add to MetaCart
Typechecking algorithms for dependent type theories often rely on the interpretation of terms in some semantic domain of values when checking equalities. Here we analyze a version of Coquand’s algorithm for checking the βηequality of such semantic values in a theory with a predicative universe hierarchy and large elimination rules. Although this algorithm does not rely on normalization by evaluation explicitly, we show that similar ideas can be employed for its verification. In particular, our proof uses the new notions of contextual reification and strong semantic equality. The algorithm is part of a bidirectional type checking algorithm which checks whether a normal term has a certain semantic type, a technique notion of semantic domain in order to accommodate a variety of possible implementation techniques, such as normal forms, weak head normal forms, closures, and compiled code. Our aim is to get closer than previous work to verifying the typechecking algorithms which are actually used in practice.
A Categorytheoretic characterization of functional completeness
, 1990
"... . Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
. Functional languages are based on the notion of application: programs may be applied to data or programs. By application one may define algebraic functions; and a programming language is functionally complete when any algebraic function f(x 1 ,...,x n ) is representable (i.e. there is a constant a such that f(x 1 ,...,x n ) = (a . x 1 . ... . x n ). Combinatory Logic is the simplest typefree language which is functionally complete. In a sound categorytheoretic framework the constant a above may be considered as an "abstract gödelnumber" for f, when gödelnumberings are generalized to "principal morphisms", in suitable categories. By this, models of Combinatory Logic are categorically characterized and their relation is given to lambdacalculus models within Cartesian Closed Categories. Finally, the partial recursive functionals in any finite higher type are shown to yield models of Combinatory Logic. ________________ (+) Theoretical Computer Science, 70 (2), 1990, pp.193211. A p...