A Two-Level Logic Approach to Reasoning About Computations

被引:25
作者
Gacek, Andrew [1 ,2 ]
Miller, Dale [1 ,2 ]
Nadathur, Gopalan [3 ]
机构
[1] INRIA Saclay Ile de France, Palaiseau, France
[2] LIX Ecole Polytech, Palaiseau, France
[3] Univ Minnesota, Dept Comp Sci & Engn, Minneapolis, MN 55455 USA
基金
美国国家科学基金会;
关键词
Two-level logic; Nominal abstraction; Generic judgments; del-quantification; lambda-tree syntax;
D O I
10.1007/s10817-011-9218-1
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Relational descriptions have been used in formalizing diverse computational notions, including, for example, operational semantics, typing, and acceptance by non-deterministic machines. We therefore propose a (restricted) logical theory over relations as a language for specifying such notions. Our specification logic is further characterized by an ability to explicitly treat binding in object languages. Once such a logic is fixed, a natural next question is how we might prove theorems about specifications written in it. We propose to use a second logic, called a reasoning logic, for this purpose. A satisfactory reasoning logic should be able to completely encode the specification logic. Associated with the specification logic are various notions of binding: for quantifiers within formulas, for eigenvariables within sequents, and for abstractions within terms. To provide a natural treatment of these aspects, the reasoning logic must encode binding structures as well as their associated notions of scope, free and bound variables, and capture-avoiding substitution. Further, to support arguments about provability, the reasoning logic should possess strong mechanisms for constructing proofs by induction and co-induction. We provide these capabilities here by using a logic called which represents relations over lambda-terms via definitions of atomic judgments, contains inference rules for induction and co-induction, and includes a special generic quantifier. We show how provability in the specification logic can be transparently encoded in . We also describe an interactive theorem prover called Abella that implements and this two-level logic approach and we present several examples that demonstrate the efficacy of Abella in reasoning about computations.
引用
收藏
页码:241 / 273
页数:33
相关论文
共 44 条
[1]  
[Anonymous], HDB PHILOS LOGIC
[2]  
[Anonymous], 1999, AUTOMATED DEDUCTION
[3]  
[Anonymous], 1987, LNCS
[4]  
[Anonymous], 1940, Journal of Symbolic Logic
[5]  
Aydemir BE, 2005, LECT NOTES COMPUT SC, V3603, P50
[6]   Engineering formal metatheory [J].
Aydemir, Brian ;
Chargueraud, Arthur ;
Pierce, Benjamin C. ;
Pollack, Randy ;
Weirich, Stephanie .
ACM SIGPLAN NOTICES, 2008, 43 (01) :3-15
[7]  
Baelde D., 2008, THESIS ECOLE POLYTEC
[8]  
Baelde D, 2007, LECT NOTES ARTIF INT, V4603, P391
[9]  
Bertot Y., 2004, TEXT THEORET COMP S
[10]  
Coquand T., 1988, LNCS, V417, P50, DOI DOI 10.1007/3-540-52335-9_47