Expressing Polymorphic Types In A Many-Sorted Language

FroCoS'11: Proceedings of the 8th international conference on Frontiers of combining systems(2011)

引用 28|浏览8
暂无评分
摘要
In this paper, we study translation from a first-order logic with polymorphic types a la ML (of which we give a formal description) to a many-sorted or one-sorted logic as accepted by mainstream automated theorem provers. We consider a three-stage scheme where the last stage eliminates polymorphic types while adding the necessary "annotations" to preserve soundness, and the first two stages serve to protect certain terms so that they can keep their original unannotated form. This protection allows us to make use of provers' built-in theories and operations. We present two existing translation procedures as sound and complete instances of this generic scheme. Our formulation generalizes over the previous ones by allowing us to protect terms of arbitrary monomorphic types. In particular, we can benefit from the built-in theory of arrays in SMT solvers such as Z3, CVC3, and Vices. The proposed methods are implemented in the Why3 tool and we compare their performance in combination with several automated provers.
更多
查看译文
关键词
built-in theory,polymorphic type,automated provers,mainstream automated theorem provers,existing translation procedure,first-order logic,generic scheme,one-sorted logic,three-stage scheme,Why3 tool,many-sorted language
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要