Combining de Bruijn indices and higher-order abstract syntax in Coq

被引:0
|
作者
Capretta, Venanzio [1 ]
Felty, Amy P. [1 ]
机构
[1] Univ Ottawa, Sch Informat Technol & Engn, Dept Math & Stat, Ottawa, ON K1N 6N5, Canada
来源
关键词
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The use of higher-order abstract syntax is an important approach for the representation of binding constructs in encodings of languages and logics in a logical framework. Formal meta-reasoning about such object languages is a particular challenge. We present a mechanism for such reasoning, formalized in Coq, inspired by the Hybrid tool in Isabelle. At the base level, we define a de Bruijn representation of terms with basic operations and a reasoning framework. At a higher level, we can represent languages and reason about them using higher-order syntax. We take advantage of Coq's constructive logic by formulating many definitions as Coq programs. We illustrate the method on two examples: the untyped lambda calculus and quantified propositional logic. For each language, we can define recursion and induction principles that work directly on the higher-order syntax.
引用
收藏
页码:63 / +
页数:3
相关论文
共 50 条