期刊文献+

支持用户自定义谓词的自动定理证明的研究

Research of Automated Theorem Proving for User-defined Predicates
下载PDF
导出
摘要 在先前设计的一个出具证明编译器原型基础上,增加了可用来描述数据结构性质的自定义谓词,对断言语言表达能力方面做了提升.在出具证明编译器的框架内,借助自动定理证明技术,针对自定义谓词的特点,设计了专门的推理规则,由此实现自定义谓词专用的自动定理证明器原型,并将它并入系统原来的自动定理证明器中.该原型可以用来证明操作单链表、二叉树等共享数据结构的程序的性质,其程序规范中可以使用自定义谓词描述数据有序性、链表长度等性质. This paper adds user-defined predicate support in the assertion language to describe the property of the data structure, which enhances the expressivity of the assertion language based on a previous certifying compiler prototype. We design special inference rules, implements an automated theorem prover prototype for user-defined predicate using automated theorem proving techniques with- in the framework of the certifying compiler. Moreover, the prover is incorporated into the previous system. The prototype can prove the properties of the programs which operate on shared mutable data structures such as singly-linked lists, binary trees, etc., and the program specifications can use user-defined predicates to describe properties such as orderedness, length of the list and so on.
出处 《小型微型计算机系统》 CSCD 北大核心 2013年第8期1781-1786,共6页 Journal of Chinese Computer Systems
基金 国家自然科学基金项目(61003043 61170018)资助
关键词 出具证明编译器 自定义谓词 自动定理证明 推理规则 certifying compiler user-defined predicates automatic theorem proving inference rules
  • 相关文献

参考文献1

二级参考文献16

  • 1De Moura and L,Bjomer. Z3:an efficient SMT solver[A]. C. Ramakrishnan and J. Rehof, Editors, Proe. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) [ C ], Lecture Notes in Computer Science, Springer,2008,4963:337 - 340.
  • 2David Detlefs, Greg Nelson,James B Saxe. Simplify: a theorem prover for program checking[J]. J. ACM,2005,52(3) :365-473.
  • 3Tobias Nipkow, Lawrence C Paulson, Markus Wenzel. Isabdle./ HOL: a proof assistant for higher-order logic (Lecture Notes in Computer Science) [M]. Springer,1 edition, May 2002.
  • 4Josh Berdine, Cristiano Calcagno, Peter W O'Hearn. Symbolic execution with separation logic [ C]. In K. Yi ( Ed. ) : APLAS 2005, LNCS 3780,2005,52-68.
  • 5John Reynolds. Separation logic: a logic for shared mutable data structures[C]. 17th Annual IEEE Symposium on Logic in Computer Science (LICS'02) ,Copenhagen, Denmark,July 22-July 25, 2002,55 -74.
  • 6George C Necula, Peter Lee. The design and implementation of a certifying compiler[C]. In Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation, 1998,333-344.
  • 7Chen Yi-yun, Ge Lin, Hua Bao-jian, et al. A pointer logic and certifying compiler[ J]. Frontiers of Computer Science in China, Jul 2007,1 (3) :297-312.
  • 8Certifying compiler for a C-like programming language[ EB/OL]. http ://kyhcs. ustcsz. edu. cn/ssi/ccomp/,2010.
  • 9The Coq Development Team. The cot] proof assistant reference manual[ EB/OL]. http ://coq. inria, fr/refman/,2009.
  • 10Bruno Dutertre, Leonardo de Moura. Integrating simplex with DPLL(T) [ C]. SRI-CSL-06-01, SRI Intcxnational, 2006.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部