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
来源
TYPES FOR PROOFS AND PROGRAMS | 2007年 / 4502卷
关键词
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
相关论文
共 27 条
  • [11] GORDON AD, 1993, LNCS, P413
  • [12] McDowell R. C., 2002, ACM Transactions on Computational Logic, V3, P80, DOI 10.1145/504077.504080
  • [13] Melham T. F., 1994, Nordic Journal of Computing, V1, P50
  • [14] On the formalization of the modal μ-calculus in the calculus of inductive constructions
    Miculan, M
    [J]. INFORMATION AND COMPUTATION, 2001, 164 (01) : 199 - 231
  • [15] MICULAN M, 2001, ELECT NOTES THEORETI, V58, P37
  • [16] Miller D., 2005, ACM Transactions on Computational Logic, V6, P749, DOI 10.1145/1094622.1094628
  • [17] MOMIGLIANO A, 2003, LNCS, P375
  • [18] Nipkow T., 2002, LNCS
  • [19] Nogin A., 2005, MERLIN 05, P2
  • [20] Norrish M, 2004, LECT NOTES COMPUT SC, V3223, P241