Weak call-by-value lambda calculus as a model of computation in Coq

23Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We formalise a weak call-by-value λ-calculus we call L in the constructive type theory of Coq and study it as a minimal functional programming language and as a model of computation. We show key results including (1) semantic properties of procedures are undecidable, (2) the class of total procedures is not recognisable, (3) a class is decidable if it is recognisable, corecognisable, and logically decidable, and (4) a class is recognisable if and only if it is enumerable. Most of the results require a step-indexed self-interpreter. All results are verified formally and constructively, which is the challenge of the project. The verification techniques we use for procedures will apply to call-by-value functional programming languages formalised in Coq in general.

Cite

CITATION STYLE

APA

Forster, Y., & Smolka, G. (2017). Weak call-by-value lambda calculus as a model of computation in Coq. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 10499 LNCS, pp. 189–206). Springer Verlag. https://doi.org/10.1007/978-3-319-66107-0_13

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free