Abstract
In this paper, we develop, in the proof assistant Coq, a definitional interpreter and a type-checker for a simply typed functional language, and formally prove that the mentioned type-checker is sound with respect to the definitional interpreter via progress and preservation. To represent binders, we embark on the choice of “concrete syntax” in which parameters are just names (or strings).
Subject
Geometry and Topology,Logic,Mathematical Physics,Algebra and Number Theory,Analysis
Reference29 articles.
1. Definitional Interpreters for Higher-Order Programming Languages;Reynolds;High. Order Symb. Comput.,1998
2. A Formulation of the Simple Theory of Types;Church;J. Symb. Log.,1940
3. The Coq Development Team (2018). The Coq Proof Assistant Reference Manual, The Coq Development Team.
4. A Syntactic Approach to Type Soundness;Wright;Inf. Comput.,1994
5. Intrinsically-typed definitional interpreters for imperative languages;Poulsen;Proc. ACM Program. Lang.,2018