Defining and Reasoning About Recursive Functions: A Practical Tool for the Coq Proof Assistant
Defining and Reasoning About Recursive Functions: A Practical Tool for the Coq Proof Assistant
复制标题
递归函数的定义和推理:Coq Proof Assistant 的实用工具
DOI:
10.1007/11737414_9
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
Vlad Rusu
中科院分区:
文献类型:
--
作者:
G. Barthe;Julien Forest;David Pichardie;Vlad Rusu
We present a practical tool for defining and proving properties of recursive functions in the Coq proof assistant. The tool generates from pseudo-code the graph of the intended function as an inductive relation. Then it proves that the relation actually represents a function, which is by construction the function that we are trying to define. Then, we generate induction and inversion principles, and a fixpoint equation for proving other properties of the function. Our tool builds upon state-of-the-art techniques for defining recursive functions, and can also be used to generate executable functions from inductive descriptions of their graph. We illustrate the benefits of our tool on two case studies.