A formalization of programs in first-order logic with a discrete linear order

作者:

摘要

We consider the problem of representing and reasoning about computer programs, and propose a translation from a core procedural iterative programming language to first-order logic with quantification over the domain of natural numbers that includes the usual successor function and the “less than” linear order, essentially a first-order logic with a discrete linear order. Unlike Hoare's logic, our approach does not rely on loop invariants. Unlike the typical temporal logic specification of a program, our translation does not require a transition system model of the program, and is compositional on the structures of the program. Some non-trivial examples are given to show the effectiveness of our translation for proving properties of programs.

论文关键词:Program semantics,Reasoning about programs,First-order logic

论文评审过程:Received 17 December 2014, Revised 23 August 2015, Accepted 28 January 2016, Available online 11 February 2016, Version of Record 20 February 2016.

论文官网地址:https://doi.org/10.1016/j.artint.2016.01.014